{"action":"created","issue":{"url":"https://api.github.com/repos/antitypical/Manifold/issues/188","labels_url":"https://api.github.com/repos/antitypical/Manifold/issues/188/labels{/name}","comments_url":"https://api.github.com/repos/antitypical/Manifold/issues/188/comments","events_url":"https://api.github.com/repos/antitypical/Manifold/issues/188/events","html_url":"https://github.com/antitypical/Manifold/pull/188","id":123895683,"number":188,"title":"Abstract binding trees","user":{"login":"robrix","id":59671,"avatar_url":"https://avatars.githubusercontent.com/u/59671?v=3","gravatar_id":"","url":"https://api.github.com/users/robrix","html_url":"https://github.com/robrix","followers_url":"https://api.github.com/users/robrix/followers","following_url":"https://api.github.com/users/robrix/following{/other_user}","gists_url":"https://api.github.com/users/robrix/gists{/gist_id}","starred_url":"https://api.github.com/users/robrix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robrix/subscriptions","organizations_url":"https://api.github.com/users/robrix/orgs","repos_url":"https://api.github.com/users/robrix/repos","events_url":"https://api.github.com/users/robrix/events{/privacy}","received_events_url":"https://api.github.com/users/robrix/received_events","type":"User","site_admin":true},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-12-25T19:33:03Z","updated_at":"2016-01-01T05:51:27Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/antitypical/Manifold/pulls/188","html_url":"https://github.com/antitypical/Manifold/pull/188","diff_url":"https://github.com/antitypical/Manifold/pull/188.diff","patch_url":"https://github.com/antitypical/Manifold/pull/188.patch"},"body":"- [x] Implements scoping using ABTs.\r\n- ~~Remove the `Local` case from `Name`, reducing it to a `typealias` or thin wrapper around `String`.~~ It’s still pretty useful for automatically assigning names (“locally nameless” representations).\r\n- ~~Remove the logic around formatting local `Name`s.~~ We use this to print `Type₁` &c.\r\n- [x] Should we represent `Term` disjoint from the ABT representation, or represent ABT cases in `Term`? ~~NB: Swift can’t _properly_ separate them, in that `Term` has to know about the ABT & AST types. But neither the ABT nor AST type need know about `Term`.~~ Yes, they should be disjoint. We’ll want to use this with `AnnotatedTerm` and possibly a representation of suspended unification (a la `Free`)."},"comment":{"url":"https://api.github.com/repos/antitypical/Manifold/issues/comments/168286111","html_url":"https://github.com/antitypical/Manifold/pull/188#issuecomment-168286111","issue_url":"https://api.github.com/repos/antitypical/Manifold/issues/188","id":168286111,"user":{"login":"robrix","id":59671,"avatar_url":"https://avatars.githubusercontent.com/u/59671?v=3","gravatar_id":"","url":"https://api.github.com/users/robrix","html_url":"https://github.com/robrix","followers_url":"https://api.github.com/users/robrix/followers","following_url":"https://api.github.com/users/robrix/following{/other_user}","gists_url":"https://api.github.com/users/robrix/gists{/gist_id}","starred_url":"https://api.github.com/users/robrix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robrix/subscriptions","organizations_url":"https://api.github.com/users/robrix/orgs","repos_url":"https://api.github.com/users/robrix/repos","events_url":"https://api.github.com/users/robrix/events{/privacy}","received_events_url":"https://api.github.com/users/robrix/received_events","type":"User","site_admin":true},"created_at":"2016-01-01T05:51:27Z","updated_at":"2016-01-01T05:51:27Z","body":"Well, this monster is finally complete."}}