2007-04-02 旧作。原载:http://blog.csdn.net/st_monad/article/details/1548862


我的理解,haskell创造了一个no side-effect的pure functional的world,然后为了和real world协同,创造了monad来封装real world中的dirty data。

图1 左边是无副作用世界,右边是真实世界,二者通过交换单子进行协同
haskell的世界观(1)
当real world中发生一个destructive update的时候(输入),它把这个update一刻的瞬间snapshot下来,产生一个monad;这个monad随即被送往no side-effect world(下简称pure world)。
pureworld从单子中取出数据,进行运算,这个过程是pure的。处理完成后,它把结果封装成一个新的单子返回给真实世界,真实世界再发生一次destructive update(输出)。

相关文章:

  • 2021-07-18
  • 2022-01-11
  • 2022-01-15
  • 2021-11-26
  • 2021-11-04
  • 2022-12-23
  • 2022-01-15
  • 2021-10-25
猜你喜欢
  • 2021-04-14
  • 2022-12-23
  • 2022-01-31
  • 2021-08-19
  • 2022-12-23
  • 2022-12-23
  • 2022-01-03
相关资源
相似解决方案