这种说法有一定的道理,但是需要说明的是,monad 和 Unix 管道有一些重要的区别。
在 Unix 管道中,管道的每一个阶段是独立的,它们不需要了解彼此的工作方式。管道的输入是一系列字符串,管道的输出也是一系列字符串,每个阶段都可以对这些字符串进行一些简单的转换。
但是在 monad 中,每一个阶段都有自己的状态,这个状态可以是任何类型的数据,并且每个阶段需要知道上一个阶段的状态。这样,状态就可以在每一个阶段之间进行传递,使得复杂的程序可以更容易地组合。
因此,我们可以说 monad 是一种把数据作为信号进行处理的工具,它比 Unix 管道更加强大,因为它可以处理复杂的状态。但是,也