c# - 在 C# 中使用 Monad 的引人注目的场景是什么

标签 c# .net monads

让我先声明一下,我对 Monad 的理解还很幼稚。我在这里阅读了关于 Monads 的各种主题,并对这个概念做了几个小时的研究。我对这个术语不太满意,但我认为可以肯定地说,我一般理解 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/

相关文章:

C# BackgroundWorker 和调用

scala - (如何)你能 curry 组成一元函数吗?

Scala IO 单子(monad) : what's the point?

scala - 用于理解 if 守卫

c# - 得到两个椭圆而不是一个

c# - WPF 的现代 UI - ModernDialog : Allow to click Ok only on some conditions

c# - 为什么可选参数的默认值必须由常量表达式或值类型的无参数构造函数指定?

c# - 从异步任务返回 404

c# - TimeZoneInfo——基于文化的翻译标准名称

c# - 我可以为对象动态创建属性类型和属性名称吗?