{"action":"created","issue":{"url":"https://api.github.com/repos/coq/coq/issues/1095","repository_url":"https://api.github.com/repos/coq/coq","labels_url":"https://api.github.com/repos/coq/coq/issues/1095/labels{/name}","comments_url":"https://api.github.com/repos/coq/coq/issues/1095/comments","events_url":"https://api.github.com/repos/coq/coq/issues/1095/events","html_url":"https://github.com/coq/coq/pull/1095","id":260347974,"number":1095,"title":"[stm] Remove state handling from Futures","user":{"login":"ejgallego","id":7192257,"avatar_url":"https://avatars2.githubusercontent.com/u/7192257?v=4","gravatar_id":"","url":"https://api.github.com/users/ejgallego","html_url":"https://github.com/ejgallego","followers_url":"https://api.github.com/users/ejgallego/followers","following_url":"https://api.github.com/users/ejgallego/following{/other_user}","gists_url":"https://api.github.com/users/ejgallego/gists{/gist_id}","starred_url":"https://api.github.com/users/ejgallego/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ejgallego/subscriptions","organizations_url":"https://api.github.com/users/ejgallego/orgs","repos_url":"https://api.github.com/users/ejgallego/repos","events_url":"https://api.github.com/users/ejgallego/events{/privacy}","received_events_url":"https://api.github.com/users/ejgallego/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":15,"created_at":"2017-09-25T17:02:47Z","updated_at":"2017-10-21T07:58:21Z","closed_at":"2017-10-20T09:20:21Z","author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/coq/coq/pulls/1095","html_url":"https://github.com/coq/coq/pull/1095","diff_url":"https://github.com/coq/coq/pull/1095.diff","patch_url":"https://github.com/coq/coq/pull/1095.patch"},"body":"We make Vernacentries.interp functional wrt state, and thus remove\r\nstate-handling from `Future`. Now, a future needs a closure if it\r\nwants to preserve state.\r\n\r\nConsequently, `Vernacentries.interp` takes a state, and returns the\r\nnew one.\r\n\r\nWe don't explicitly thread the state in the STM yet, instead, we\r\nrecover the state that was used before and pass it explicitly to\r\n`interp`.\r\n\r\nI have tested the commit with the files in interactive, but we aware\r\nthat some new bugs may appear or old ones be made more apparent.\r\nHowever, I am confident that this step will improve our understanding of bugs.\r\n\r\nIn some cases, we perform a bit more summary wrapping/unwrapping. This\r\nwill go away in future commits; informal timings for a full make:\r\n\r\n- master:\r\n  real\t2m11,027s\r\n  user\t8m30,904s\r\n  sys\t1m0,000s\r\n\r\n- no_futures:\r\n  real\t2m8,474s\r\n  user\t8m34,380s\r\n  sys\t0m59,156s\r\n"},"comment":{"url":"https://api.github.com/repos/coq/coq/issues/comments/338373590","html_url":"https://github.com/coq/coq/pull/1095#issuecomment-338373590","issue_url":"https://api.github.com/repos/coq/coq/issues/1095","id":338373590,"user":{"login":"gares","id":1013846,"avatar_url":"https://avatars2.githubusercontent.com/u/1013846?v=4","gravatar_id":"","url":"https://api.github.com/users/gares","html_url":"https://github.com/gares","followers_url":"https://api.github.com/users/gares/followers","following_url":"https://api.github.com/users/gares/following{/other_user}","gists_url":"https://api.github.com/users/gares/gists{/gist_id}","starred_url":"https://api.github.com/users/gares/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gares/subscriptions","organizations_url":"https://api.github.com/users/gares/orgs","repos_url":"https://api.github.com/users/gares/repos","events_url":"https://api.github.com/users/gares/events{/privacy}","received_events_url":"https://api.github.com/users/gares/received_events","type":"User","site_admin":false},"created_at":"2017-10-21T07:58:21Z","updated_at":"2017-10-21T07:58:21Z","author_association":"OWNER","body":"OK, then I guess I'll let you fix the thing and then re-review this PR plus the fix on vernacentries + stm"}}
{"actor":{"display_login":"gares"}}