{"action":"created","issue":{"url":"https://api.github.com/repos/purescript/purescript-tuples/issues/9","labels_url":"https://api.github.com/repos/purescript/purescript-tuples/issues/9/labels{/name}","comments_url":"https://api.github.com/repos/purescript/purescript-tuples/issues/9/comments","events_url":"https://api.github.com/repos/purescript/purescript-tuples/issues/9/events","html_url":"https://github.com/purescript/purescript-tuples/pull/9","id":56175243,"number":9,"title":"Generalize `zip` and `unzip`.","user":{"login":"joneshf","id":1356417,"avatar_url":"https://avatars.githubusercontent.com/u/1356417?v=3","gravatar_id":"","url":"https://api.github.com/users/joneshf","html_url":"https://github.com/joneshf","followers_url":"https://api.github.com/users/joneshf/followers","following_url":"https://api.github.com/users/joneshf/following{/other_user}","gists_url":"https://api.github.com/users/joneshf/gists{/gist_id}","starred_url":"https://api.github.com/users/joneshf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joneshf/subscriptions","organizations_url":"https://api.github.com/users/joneshf/orgs","repos_url":"https://api.github.com/users/joneshf/repos","events_url":"https://api.github.com/users/joneshf/events{/privacy}","received_events_url":"https://api.github.com/users/joneshf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-02-01T19:48:01Z","updated_at":"2015-06-16T16:03:23Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/purescript/purescript-tuples/pulls/9","html_url":"https://github.com/purescript/purescript-tuples/pull/9","diff_url":"https://github.com/purescript/purescript-tuples/pull/9.diff","patch_url":"https://github.com/purescript/purescript-tuples/pull/9.patch"},"body":"This is a discussion PR.\r\n\r\nWe can make `zip` and `unzip` more general than they are by relying on `Apply` and `Functor` respectively. This removes the dependency on `purescript-arrays`. But it also changes the semantics of `zip` a bit if you're not careful. This would require us to have a `ZipList` type in order to get he semantics we're all used to with the `zip` function. `unzip` works the same way regardless as there's only one valid `Functor`.\r\n\r\nThis PR gives us the ability to `zip`/`unzip` say two `Maybe`s, two `Map k`s, or two `V err`s or anything with just an `Apply`\r\n\r\nSo, is it worth it to break the semantics for more generality and removal of a dependency?"},"comment":{"url":"https://api.github.com/repos/purescript/purescript-tuples/issues/comments/112480403","html_url":"https://github.com/purescript/purescript-tuples/pull/9#issuecomment-112480403","issue_url":"https://api.github.com/repos/purescript/purescript-tuples/issues/9","id":112480403,"user":{"login":"joneshf","id":1356417,"avatar_url":"https://avatars.githubusercontent.com/u/1356417?v=3","gravatar_id":"","url":"https://api.github.com/users/joneshf","html_url":"https://github.com/joneshf","followers_url":"https://api.github.com/users/joneshf/followers","following_url":"https://api.github.com/users/joneshf/following{/other_user}","gists_url":"https://api.github.com/users/joneshf/gists{/gist_id}","starred_url":"https://api.github.com/users/joneshf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joneshf/subscriptions","organizations_url":"https://api.github.com/users/joneshf/orgs","repos_url":"https://api.github.com/users/joneshf/repos","events_url":"https://api.github.com/users/joneshf/events{/privacy}","received_events_url":"https://api.github.com/users/joneshf/received_events","type":"User","site_admin":false},"created_at":"2015-06-16T16:03:23Z","updated_at":"2015-06-16T16:03:23Z","body":"I see `unzip` was moved, but I'm not sure where it was moved to. Should I just close this?"}}