haskell / haskell/mtl

Adding a proper ListT to transformers and this package

Open
#85 28 comments 0 reactions 0 assignees View on GitHub
transformers
Dominant language
Haskell
Stars
401
Forks
72
PR merge metrics
No merged PRs in 30d

Description

I think we should add a type equivalent to the following to transformers (and mtl):
````haskell
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, ...

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.