{"action":"created","issue":{"url":"https://api.github.com/repos/keean/zenscript/issues/18","repository_url":"https://api.github.com/repos/keean/zenscript","labels_url":"https://api.github.com/repos/keean/zenscript/issues/18/labels{/name}","comments_url":"https://api.github.com/repos/keean/zenscript/issues/18/comments","events_url":"https://api.github.com/repos/keean/zenscript/issues/18/events","html_url":"https://github.com/keean/zenscript/issues/18","id":179470231,"number":18,"title":"Compiler Implementation","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},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":322,"created_at":"2016-09-27T11:43:37Z","updated_at":"2016-10-21T07:04:05Z","closed_at":null,"body":"Discussion about the ongoing implementation of the compiler."},"comment":{"url":"https://api.github.com/repos/keean/zenscript/issues/comments/255309503","html_url":"https://github.com/keean/zenscript/issues/18#issuecomment-255309503","issue_url":"https://api.github.com/repos/keean/zenscript/issues/18","id":255309503,"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-21T07:04:05Z","updated_at":"2016-10-21T07:04:05Z","body":"> because for example you can't write a declarative rule for constructing and destructuring unions without creating some powerful new declarative language.\r\n\r\nA type system is such a language. We need unification to do type equality, and we need backtracking because we need to do typeclass matching. This is in effect a mini-prolog interpreter. We already need all the components for this.\r\n\r\nWe can then declare the rules inside the type system, where the rules are much simpler to express and we get guaranteed soundness because we cannot break the rules of the type system.\r\n\r\n> where clauses on implementations. You adding a lot of complexity. I thought we were building a compact language, not some research that you want to do about some being able to invent a meta-language for declarative rules of compiler logic.\r\n\r\nOf course we need where clauses on implementations, Rust and Haskell have them, infact I think all typeclass languages have them. Otherwise we cannot even write simple recursive typeclasses."}}
{"actor":{"display_login":"keean"}}