{"action":"created","issue":{"url":"https://api.github.com/repos/sanctuary-js/sanctuary/issues/233","repository_url":"https://api.github.com/repos/sanctuary-js/sanctuary","labels_url":"https://api.github.com/repos/sanctuary-js/sanctuary/issues/233/labels{/name}","comments_url":"https://api.github.com/repos/sanctuary-js/sanctuary/issues/233/comments","events_url":"https://api.github.com/repos/sanctuary-js/sanctuary/issues/233/events","html_url":"https://github.com/sanctuary-js/sanctuary/issues/233","id":162275831,"number":233,"title":"Support Native Map Type","user":{"login":"svozza","id":8573472,"avatar_url":"https://avatars.githubusercontent.com/u/8573472?v=3","gravatar_id":"","url":"https://api.github.com/users/svozza","html_url":"https://github.com/svozza","followers_url":"https://api.github.com/users/svozza/followers","following_url":"https://api.github.com/users/svozza/following{/other_user}","gists_url":"https://api.github.com/users/svozza/gists{/gist_id}","starred_url":"https://api.github.com/users/svozza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/svozza/subscriptions","organizations_url":"https://api.github.com/users/svozza/orgs","repos_url":"https://api.github.com/users/svozza/repos","events_url":"https://api.github.com/users/svozza/events{/privacy}","received_events_url":"https://api.github.com/users/svozza/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-06-25T10:54:57Z","updated_at":"2016-09-18T13:52:01Z","closed_at":null,"body":"Someone recently commented on an old Ramda [issue](https://github.com/ramda/ramda/issues/1055) about supporting the native `Map` type and it got me thinking whether we should do so in Sanctuary. I'm not quite sure how that would look given that the `StrMap` type we have is more specific that the general JS type but I'm interested to hear everyone's thoughts."},"comment":{"url":"https://api.github.com/repos/sanctuary-js/sanctuary/issues/comments/247848886","html_url":"https://github.com/sanctuary-js/sanctuary/issues/233#issuecomment-247848886","issue_url":"https://api.github.com/repos/sanctuary-js/sanctuary/issues/233","id":247848886,"user":{"login":"davidchambers","id":210406,"avatar_url":"https://avatars.githubusercontent.com/u/210406?v=3","gravatar_id":"","url":"https://api.github.com/users/davidchambers","html_url":"https://github.com/davidchambers","followers_url":"https://api.github.com/users/davidchambers/followers","following_url":"https://api.github.com/users/davidchambers/following{/other_user}","gists_url":"https://api.github.com/users/davidchambers/gists{/gist_id}","starred_url":"https://api.github.com/users/davidchambers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidchambers/subscriptions","organizations_url":"https://api.github.com/users/davidchambers/orgs","repos_url":"https://api.github.com/users/davidchambers/repos","events_url":"https://api.github.com/users/davidchambers/events{/privacy}","received_events_url":"https://api.github.com/users/davidchambers/received_events","type":"User","site_admin":false},"created_at":"2016-09-18T13:52:01Z","updated_at":"2016-09-18T13:52:01Z","body":"I posted a question on Stack Overflow: [Custom equality semantics for Immutable.js data structures][1]. After writing the post I'm almost convinced we could get our desired behaviour by wrapping the native Map type. It could look something like this:\r\n\r\n    Map k v = { negativeZero :: Maybe v\r\n              , value :: NativeMap k v\r\n              , fantasy-land/equals :: Map k v ~> Map k v -> Boolean\r\n              , fantasy-land/map :: Map k v ~> (k -> a) -> Map a v\r\n              , fantasy-land/bimap :: Map k v ~> (k -> a, v -> b) -> Map a b\r\n              , ...\r\n              }\r\n\r\n@scott-christopher wrapped the native Set type in ramda/ramda#1639 (for internal use only). Is there a reason we cannot use a similar approach for externally visible maps and sets in Sanctuary?\r\n\r\n\r\n[1]: http://stackoverflow.com/q/39557342/312785\r\n"}}
{"actor":{"display_login":"davidchambers"}}