-
Notifications
You must be signed in to change notification settings - Fork 72
Open
Labels
transformersBlocked on upstream transformers changeBlocked on upstream transformers change
Description
I think we should add a type equivalent to the following to transformers (and mtl):
newtype ChoiceT m a = ChoiceT { runChoiceT :: m (Maybe (ChoiceT m a)) }This is a monad transformer, while it's well-known that the existing ListT is not.
And perhaps we should add the relevant MonadChoice class here (subject to design discussion)
Ideally this would happen in cooperation between the two libraries, hence why I'm opening it here. We would at least need all the instances to lift MonadX through ChoiceT
Bikeshedding name suggestions: ChoiceT, StreamT, NonDetT, ...
Metadata
Metadata
Assignees
Labels
transformersBlocked on upstream transformers changeBlocked on upstream transformers change