Conversation
|
I'm not too well versed on the whole Either way, I'm for this. |
|
I don't think it's supposed to be a superclass as there are cases that can't satisfy both left catch and left distribution. I'm not super well versed in the discussion either, just going off this for the most part. @jdegoes or @puffnfresh have any thoughts on this? |
|
@garyb I think I also recommend reading this awesome blog post: |
|
👍 🚢 Maybe we should move Also, then we can add a few more primitives like Are there any standard things like that for |
|
Also 👍 for breaking up |
|
I think we have |
|
I think we'd have to, yes. |
|
Is this OK to merge in its current state then, given that neither of these classes are affected by changes needed for I don't think there are any functions like |
|
Yes I think so. |
|
Do we plan to include any instances? |
|
I was thinking about that, I think instances should go in the modules that define the types that are suitable. At the moment As far as I know, the only instances we need for standard types are for
|
|
More related discussion at #6 |
I don't know if we want to lay down a consistent set of laws for MonadPlus, but left distribution seems to make sense to me over left catch, given that an
Alternativeinstance can be used for left catch instead (I think?).MonadZeroas a separate class seems useful too, as we don't havefailin ourMonad, and also it matches how we do things withArrowZeroandArrowPlus.