[Haskell-cafe] Why does `mzip /= liftM2 (,)`
MarLinn
monkleyon at gmail.com
Thu Apr 20 19:19:37 UTC 2017
> The question is why does
>
> ```
> mzip /= liftM2 (,)
>
> ```
I don't have any evidence, but my gut feeling is that indeed mzip ==
liftM2 (,) == liftA2 (,), but that MonadZip just predates many advances,
and that it's not used often enough to warrant changing. Especially
because changing stuff in base comes with huge costs and long debates.
Today I would expect something similar to look somewhat more like this:
```
class Applicative f => Unzippative f where
unzipF :: f (a,b) => (f a, f b)
```
I personally can't remember a single time that function would have come
in handy, so I'm happy with Applicative. And I'm projecting that
experience onto others and drawing the conclusion of "Meh.".
But if you find out more after
> investigating for next 30 minutes
I'd be interested to hear. ;)
Cheers,
MarLinn
More information about the Haskell-Cafe
mailing list