{"action":"created","issue":{"url":"https://api.github.com/repos/Ixrec/rust-orphan-rules/issues/17","repository_url":"https://api.github.com/repos/Ixrec/rust-orphan-rules","labels_url":"https://api.github.com/repos/Ixrec/rust-orphan-rules/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/Ixrec/rust-orphan-rules/issues/17/comments","events_url":"https://api.github.com/repos/Ixrec/rust-orphan-rules/issues/17/events","html_url":"https://github.com/Ixrec/rust-orphan-rules/issues/17","id":339245766,"node_id":"MDU6SXNzdWUzMzkyNDU3NjY=","number":17,"title":"Incorrect description of Coherence","user":{"login":"Centril","id":855702,"node_id":"MDQ6VXNlcjg1NTcwMg==","avatar_url":"https://avatars2.githubusercontent.com/u/855702?v=4","gravatar_id":"","url":"https://api.github.com/users/Centril","html_url":"https://github.com/Centril","followers_url":"https://api.github.com/users/Centril/followers","following_url":"https://api.github.com/users/Centril/following{/other_user}","gists_url":"https://api.github.com/users/Centril/gists{/gist_id}","starred_url":"https://api.github.com/users/Centril/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Centril/subscriptions","organizations_url":"https://api.github.com/users/Centril/orgs","repos_url":"https://api.github.com/users/Centril/repos","events_url":"https://api.github.com/users/Centril/events{/privacy}","received_events_url":"https://api.github.com/users/Centril/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-07-08T18:15:02Z","updated_at":"2018-07-08T21:05:52Z","closed_at":null,"author_association":"NONE","body":"> In Rust, \"trait coherence\" (or simply \"coherence\") is the property that there is at most one implementation of a trait for any given type.\r\n\r\nCoherence is not a Rust invention. At the very least, Rust has gotten much of its notion of traits and implementations from Haskell's type classes and instances. Haskell guarantees coherent type classes instances, but it does not guarantee *\"global uniqueness of instances\"*, which I think is what is described above.\r\n\r\nSee: http://blog.ezyang.com/2014/07/type-classes-confluence-coherence-global-uniqueness/"},"comment":{"url":"https://api.github.com/repos/Ixrec/rust-orphan-rules/issues/comments/403317185","html_url":"https://github.com/Ixrec/rust-orphan-rules/issues/17#issuecomment-403317185","issue_url":"https://api.github.com/repos/Ixrec/rust-orphan-rules/issues/17","id":403317185,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMzMxNzE4NQ==","user":{"login":"Ixrec","id":5285357,"node_id":"MDQ6VXNlcjUyODUzNTc=","avatar_url":"https://avatars2.githubusercontent.com/u/5285357?v=4","gravatar_id":"","url":"https://api.github.com/users/Ixrec","html_url":"https://github.com/Ixrec","followers_url":"https://api.github.com/users/Ixrec/followers","following_url":"https://api.github.com/users/Ixrec/following{/other_user}","gists_url":"https://api.github.com/users/Ixrec/gists{/gist_id}","starred_url":"https://api.github.com/users/Ixrec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ixrec/subscriptions","organizations_url":"https://api.github.com/users/Ixrec/orgs","repos_url":"https://api.github.com/users/Ixrec/repos","events_url":"https://api.github.com/users/Ixrec/events{/privacy}","received_events_url":"https://api.github.com/users/Ixrec/received_events","type":"User","site_admin":false},"created_at":"2018-07-08T21:05:52Z","updated_at":"2018-07-08T21:05:52Z","author_association":"OWNER","body":"Found a Scala design discussion that explicitly uses the terms \"global coherence\" and \"local coherence\": https://github.com/dotty-staging/dotty/blob/add-common/docs/docs/reference/extend/local-coherence.md \"Global coherence\" is certainly less of a mouthful than \"global uniqueness of instances\", and the relationship between \"global coherence\" and \"local coherence\" is pretty obvious from the terms themselves (if I'm not completely misunderstanding all of this). Do you know if Haskell people would recognize those terms?"}}
{"actor":{"display_login":"Ixrec"}}