Skip to content
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

Separate Strong/Weak Laws for MonadFilter/MonadCombine #694

Closed
mikejcurry opened this issue Nov 22, 2015 · 2 comments
Closed

Separate Strong/Weak Laws for MonadFilter/MonadCombine #694

mikejcurry opened this issue Nov 22, 2015 · 2 comments

Comments

@mikejcurry
Copy link
Contributor

#693 and #687 refer to Strong and Weak Laws for MonadFilter/MonadCombine. In #687 the MonadCombine instance for XorT was commented out as it was unused. It was unused due to the fact that the MonadCombine instance for XorT could not meet some of the laws for MonadFilter, namely: right absorbtion, right distributivity, and left distributivity. #693 will make a similar change for OptionT and reduce the available instance from MonadCombine to Monad.

It is suggested that these need to be separated out into Weak and Strong Laws, at which point an instance, supporting the appropriate weaker laws, can be reinstated for both XorT and OptionT.

@kailuowang
Copy link
Contributor

Some of the problematic laws are in AlternativeLaws, which is part of the #1210 refactor. Hence, blocked by #1210

@kailuowang
Copy link
Contributor

No longer needed due to #1616, moved out of the 1.0.0-MF, will close once mtl removal plan is completed.

@kailuowang kailuowang removed this from the 1.0.0-MF milestone May 31, 2017
@LukaJCB LukaJCB closed this as completed Jan 8, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants