haskell / haskell/mtl

Adding a proper ListT to transformers and this package

未关闭
#85 28 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
transformers
主要语言
Haskell
星标
401
派生
72
PR 合并指标
30 天内没有已合并 PR

描述

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

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。