-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Concoct a correct "Free Alternative" #53
Comments
Are there any other laws that every |
Basically we need to choose between the equivalent of the left distribution and left catch laws from the old MonadPlus reform proposal I'd say the distribution law is the one that matters, hence the use of |
So we'd want (a <|> b) <*> c = (a <*> c) <|> (b <*> c) I think you can get the catch law from the abuse of lists there if you target an |
I just pushed a working prototype to a new branch. It's not very clean, with lots of currying, but I ran some tests and it seems to work fine. Left catch might hold, but |
Hrmm, I wonder if we can accomplish this and still retain Twan's |
Merged 12a9c00. Thanks @vklj! |
My pleasure :) . I'll close the issue then. |
Shipped in |
My working assumption is it'd look something like:
Thoughts?
The text was updated successfully, but these errors were encountered: