Skip to content

Separate Strong/Weak Laws for MonadFilter/MonadCombine #694

Description

@mikejcurry

#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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions