{"action":"closed","issue":{"url":"https://api.github.com/repos/brownplt/pyret-lang/issues/100","labels_url":"https://api.github.com/repos/brownplt/pyret-lang/issues/100/labels{/name}","comments_url":"https://api.github.com/repos/brownplt/pyret-lang/issues/100/comments","events_url":"https://api.github.com/repos/brownplt/pyret-lang/issues/100/events","html_url":"https://github.com/brownplt/pyret-lang/issues/100","id":22231030,"number":100,"title":"Dictionaries as a built-in datatype","user":{"login":"jpolitz","id":119891,"avatar_url":"https://avatars.githubusercontent.com/u/119891?v=3","gravatar_id":"","url":"https://api.github.com/users/jpolitz","html_url":"https://github.com/jpolitz","followers_url":"https://api.github.com/users/jpolitz/followers","following_url":"https://api.github.com/users/jpolitz/following{/other_user}","gists_url":"https://api.github.com/users/jpolitz/gists{/gist_id}","starred_url":"https://api.github.com/users/jpolitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpolitz/subscriptions","organizations_url":"https://api.github.com/users/jpolitz/orgs","repos_url":"https://api.github.com/users/jpolitz/repos","events_url":"https://api.github.com/users/jpolitz/events{/privacy}","received_events_url":"https://api.github.com/users/jpolitz/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/brownplt/pyret-lang/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2013-11-06T22:39:11Z","updated_at":"2015-06-04T18:35:24Z","closed_at":"2015-06-04T18:35:24Z","body":"We should add dictionaries as a built-in datatype.  They should support anything with a `_hash` and `_equals` method, which we should supply for the builtins.  Mutable built-ins can get a simple id (so hashing is eq-ness), while strings and numbers will need reasonable hash functions (we can probably defer to existing implementations at first).\r\n\r\nWe need to pick what `_hash` will get as a default implementation on `data`, which could either be an id-based hash that is eq-like, or could recursively hash members."}}