{"action":"created","issue":{"url":"https://api.github.com/repos/keean/zenscript/issues/4","repository_url":"https://api.github.com/repos/keean/zenscript","labels_url":"https://api.github.com/repos/keean/zenscript/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/keean/zenscript/issues/4/comments","events_url":"https://api.github.com/repos/keean/zenscript/issues/4/events","html_url":"https://github.com/keean/zenscript/issues/4","id":177882733,"number":4,"title":"Optionally declare functions `pure`?","user":{"login":"shelby3","id":247731,"avatar_url":"https://avatars.githubusercontent.com/u/247731?v=3","gravatar_id":"","url":"https://api.github.com/users/shelby3","html_url":"https://github.com/shelby3","followers_url":"https://api.github.com/users/shelby3/followers","following_url":"https://api.github.com/users/shelby3/following{/other_user}","gists_url":"https://api.github.com/users/shelby3/gists{/gist_id}","starred_url":"https://api.github.com/users/shelby3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shelby3/subscriptions","organizations_url":"https://api.github.com/users/shelby3/orgs","repos_url":"https://api.github.com/users/shelby3/repos","events_url":"https://api.github.com/users/shelby3/events{/privacy}","received_events_url":"https://api.github.com/users/shelby3/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":28,"created_at":"2016-09-19T20:03:25Z","updated_at":"2016-10-28T22:03:36Z","closed_at":null,"body":"@shelby3 [wrote](https://github.com/keean/traitscript/issues/2#issuecomment-248102324):\r\n> Also, the compiler can use a much simpler form of path analysis (independent of run-time state) to do that performance optimization without needing dependent typing (**although without purity it becomes more difficult for the compiler to know what is safe to reorder**).\r\n\r\nPurity provides more opportunities for optimization."},"comment":{"url":"https://api.github.com/repos/keean/zenscript/issues/comments/257039854","html_url":"https://github.com/keean/zenscript/issues/4#issuecomment-257039854","issue_url":"https://api.github.com/repos/keean/zenscript/issues/4","id":257039854,"user":{"login":"keean","id":508384,"avatar_url":"https://avatars.githubusercontent.com/u/508384?v=3","gravatar_id":"","url":"https://api.github.com/users/keean","html_url":"https://github.com/keean","followers_url":"https://api.github.com/users/keean/followers","following_url":"https://api.github.com/users/keean/following{/other_user}","gists_url":"https://api.github.com/users/keean/gists{/gist_id}","starred_url":"https://api.github.com/users/keean/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keean/subscriptions","organizations_url":"https://api.github.com/users/keean/orgs","repos_url":"https://api.github.com/users/keean/repos","events_url":"https://api.github.com/users/keean/events{/privacy}","received_events_url":"https://api.github.com/users/keean/received_events","type":"User","site_admin":false},"created_at":"2016-10-28T22:03:36Z","updated_at":"2016-10-28T22:03:36Z","body":"> So it seems to what you want to do is as I stated there?\r\n\r\nA state monad only stores a specific bit of state. In the case of an impure function the monad represents all the impurity. Perhaps we could call it the `World` monad. \r\n"}}
{"actor":{"display_login":"keean"}}