{"action":"created","issue":{"url":"https://api.github.com/repos/sanctuary-js/sanctuary-type-classes/issues/2","repository_url":"https://api.github.com/repos/sanctuary-js/sanctuary-type-classes","labels_url":"https://api.github.com/repos/sanctuary-js/sanctuary-type-classes/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/sanctuary-js/sanctuary-type-classes/issues/2/comments","events_url":"https://api.github.com/repos/sanctuary-js/sanctuary-type-classes/issues/2/events","html_url":"https://github.com/sanctuary-js/sanctuary-type-classes/pull/2","id":153768562,"number":2,"title":"everything","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},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":10,"created_at":"2016-05-09T12:48:32Z","updated_at":"2016-09-14T09:24:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/sanctuary-js/sanctuary-type-classes/pulls/2","html_url":"https://github.com/sanctuary-js/sanctuary-type-classes/pull/2","diff_url":"https://github.com/sanctuary-js/sanctuary-type-classes/pull/2.diff","patch_url":"https://github.com/sanctuary-js/sanctuary-type-classes/pull/2.patch"},"body":"This pull request is not yet ready to merge, but it's *well* past my bedtime!\r\n\r\nIn sanctuary-js/sanctuary-def#62 @kedashoe suggested creating a repository for type classes. Having all the Fantasy Land type classes neatly defined in one place sounded great to me, so I've since spent some time making it happen.\r\n\r\nWhile writing the predicates I realized we want Array to be considered a Chain (among other type classes) but `Array#chain` is not defined. This presents us with three options:\r\n\r\n  - force Sanctuary to provide its *own* Chain type class when we define `S.chain`;\r\n\r\n  - claim that Array satisfies the requirements of Chain and hope that somehow it does (because libraries such as Sanctuary add logic to handle the missing method); or\r\n\r\n  - define `chain` for Array, and provide a `chain` function which makes use of this definition.\r\n\r\nThe last option seems best to me. We'll have all the definitions of Fantasy Land methods for built-in types in one place rather than scattered through a dozen or so files in Ramda. :)\r\n\r\n<del>Note that while the methods are in place, I've yet to define the functions to wrap them. We should avoid invoking methods directly so we don't invoke missing methods such as <code>Array#chain</code>, and to ensure we use our lawful <code>map</code> rather than <code>Array#map</code>.</del>\r\n"},"comment":{"url":"https://api.github.com/repos/sanctuary-js/sanctuary-type-classes/issues/comments/246955668","html_url":"https://github.com/sanctuary-js/sanctuary-type-classes/pull/2#issuecomment-246955668","issue_url":"https://api.github.com/repos/sanctuary-js/sanctuary-type-classes/issues/2","id":246955668,"user":{"login":"safareli","id":1932383,"avatar_url":"https://avatars.githubusercontent.com/u/1932383?v=3","gravatar_id":"","url":"https://api.github.com/users/safareli","html_url":"https://github.com/safareli","followers_url":"https://api.github.com/users/safareli/followers","following_url":"https://api.github.com/users/safareli/following{/other_user}","gists_url":"https://api.github.com/users/safareli/gists{/gist_id}","starred_url":"https://api.github.com/users/safareli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/safareli/subscriptions","organizations_url":"https://api.github.com/users/safareli/orgs","repos_url":"https://api.github.com/users/safareli/repos","events_url":"https://api.github.com/users/safareli/events{/privacy}","received_events_url":"https://api.github.com/users/safareli/received_events","type":"User","site_admin":false},"created_at":"2016-09-14T09:24:13Z","updated_at":"2016-09-14T09:24:13Z","body":"Also there is no implementation of ChainRec for Array, if something is Chain it could also be ChainRec. [Here I have implemented](https://gist.github.com/safareli/ea45b45bed99f32bae7002e19dcf13c2) it which you could use for reference"}}
{"actor":{"display_login":"safareli"}}