我先说一下,我对Monads有一个婴儿的理解。我在这里阅读了有关Monad的各种主题,并做了几个小时的研究。我几乎不满意这个词,但是我可以肯定地说我大致了解Monad是/做什么。

我是一位C#开发人员,他希望改善我的工作方式。在Monaducation中进一步帮助我的是看到Monad在C#中的实际应用(即通过linq SelectMany()或类似方法),这显然是对解决Oldskool C#中其他类似问题的方式的改进。

有没有人见过这样的野兽?

最佳答案

这是一个这样的场景:您想编写一个解析库(嵌入式DSL的一个很好的例子),并且发现最好的是monadic解析器组合器库。因此,您可以利用LINQ语法糖来编写它,以编写与正在解析的语言的语法具有相同结构的C#代码,并从动态的语义分析和错误恢复的出色编程模型中受益。 。有关说明,请参见this blog

关于c# - 在C#中使用Monad的引人注目的场景是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/866912/

10-13 01:47