{"action":"created","issue":{"url":"https://api.github.com/repos/keean/zenscript/issues/8","repository_url":"https://api.github.com/repos/keean/zenscript","labels_url":"https://api.github.com/repos/keean/zenscript/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/keean/zenscript/issues/8/comments","events_url":"https://api.github.com/repos/keean/zenscript/issues/8/events","html_url":"https://github.com/keean/zenscript/issues/8","id":178442049,"node_id":"MDU6SXNzdWUxNzg0NDIwNDk=","number":8,"title":"Subtyping","user":{"login":"shelby3","id":247731,"node_id":"MDQ6VXNlcjI0NzczMQ==","avatar_url":"https://avatars3.githubusercontent.com/u/247731?v=4","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":[{"id":455055439,"node_id":"MDU6TGFiZWw0NTUwNTU0Mzk=","url":"https://api.github.com/repos/keean/zenscript/labels/Future%20Work","name":"Future Work","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":622,"created_at":"2016-09-21T19:34:08Z","updated_at":"2018-08-09T16:47:36Z","closed_at":null,"author_association":"NONE","body":"Union types express a subtyping relationship, but I am unclear as to whether typeclasses (i.e. Rust's traits) do?\n\nIf a `trait B` extends another `trait A` and `B` reuses the implementations of `A`, can we assign a trait object that has a bound `B` to a trait object that has a bound `A`?\n\nSeems the answer based on prior discussion is yes. But that is a subtyping relationship, which means we would need to deal with covariance on type parameters both when they are trait objects and when they are unions. Correct?\n\nPrior discussion:\nhttps://github.com/keean/zenscript/issues/6#issuecomment-248711828\nhttps://github.com/keean/zenscript/issues/1#issuecomment-248113585\nhttps://github.com/keean/traitscript/issues/2#issuecomment-248021713\nhttps://github.com/keean/zenscript/issues/1#issuecomment-248754649\n"},"comment":{"url":"https://api.github.com/repos/keean/zenscript/issues/comments/411823277","html_url":"https://github.com/keean/zenscript/issues/8#issuecomment-411823277","issue_url":"https://api.github.com/repos/keean/zenscript/issues/8","id":411823277,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMTgyMzI3Nw==","user":{"login":"keean","id":508384,"node_id":"MDQ6VXNlcjUwODM4NA==","avatar_url":"https://avatars2.githubusercontent.com/u/508384?v=4","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":"2018-08-09T16:47:36Z","updated_at":"2018-08-09T16:47:36Z","author_association":"OWNER","body":"@shelby3 \r\n> My gosh @keean,  you can’t possibly argue that syntactical macros can produce code that  compiles and is unsafe when it executes. I know you are not that dumb.  So I can only attribute this to your inability to handle admitting when  you’re wrong.\r\n\r\nIts funny, I can see you  desperately trying to twist my words, so you can claim you were right, but I did not say what you are claiming I said.\r\n\r\nI said \"macros are not type safe\" a fact that 100% of those stackoverflow posts agreed with."}}
{"actor":{"display_login":"keean"}}