我认为在本质上,monad其实就是把数据视为信号处理,对吗? 因为unix管道也是如此。
时间: 2023-02-27 12:08:01 浏览: 75
monad-ts:Monad-ts是一个小型库,实现了一些关键的monad以及将其链接到JavaScript和TypeScript中的流(管道)中的方法
这种说法有一定的道理,但是需要说明的是,monad 和 Unix 管道有一些重要的区别。
在 Unix 管道中,管道的每一个阶段是独立的,它们不需要了解彼此的工作方式。管道的输入是一系列字符串,管道的输出也是一系列字符串,每个阶段都可以对这些字符串进行一些简单的转换。
但是在 monad 中,每一个阶段都有自己的状态,这个状态可以是任何类型的数据,并且每个阶段需要知道上一个阶段的状态。这样,状态就可以在每一个阶段之间进行传递,使得复杂的程序可以更容易地组合。
因此,我们可以说 monad 是一种把数据作为信号进行处理的工具,它比 Unix 管道更加强大,因为它可以处理复杂的状态。但是,也不能说 Unix 管道和 monad 完全一样,它们之间有很多差异。
阅读全文