文件名称:Monads:在C#中使用Monad进行实验
文件大小:932KB
文件格式:ZIP
更新时间:2024-06-07 23:13:47
C#
描述 我目前正在学习Haskell,并试图了解单子。 作为此学习过程的一部分,我开始使用C#来学习monad。 尽管这并不是最初的意图,但我想到我实现的内容实际上可以形成有用的monad库。 我已经实现了以下monads: 也许 任何一个 状态 读者 作家 我创建了自己的简单Unit类型来表示Haskell的()类型。 我还实现了一些常见的monad函数: 顺序和顺序_ ReplicateM和ReplicateM_ FoldM和FoldM_ MapM和MapM_ ZipWithM和ZipWithM_ 形式 过滤器 通过LiftM5的LiftM 加入 什么时候 除非 永远 空白 美联社 撰写(单声道从左到右的Kleisli组成) 警卫 过滤器 MSum NuGet MonadLib可作为NuGet软件包提供: 演示程序 扩展演示程序 ReaderAllAboutM