247页代码
247页
x<- left' i
==x<- writer(4-1,"move left\n1")
y <- left' (writer(4-1,"move left\n1")) --> (Writer(x,v)) >> f = let...
y <- left'(Writer(3,"move left\n1"))
y <- let(Writer(y,v')) = left' 3 in Writer(y,"move left\n1" 'mappend' v')
y <- let(Writer(y,v')) = writer(3-1,"move left\n2") in Writer(y,"move left\n1" 'mappend' v')
y <- let(Writer(y,v')) = Writer(2,"move left\n2") in Write(y,"move left\n1" 'mappend' v')
y <- Writer(2,"move left\n1" 'mappend' "move left\n2")
runWriter $ move' 4
= runWriter Writer(2,"move left\n1move left\n2")
= (2,"move left\n1move left\n2")
本文通过具体的Haskell代码示例,深入浅出地解析了Writer Monad的工作原理及其使用方式。通过对Writer Monad的逐步构建与运行,展示了如何利用Monad处理程序中的日志记录等任务。
1166

被折叠的 条评论
为什么被折叠?



