Pha*_*rus 1 monads haskell functional-programming
我在Haskell中编写一个函数,它接受一个Java类文件,并编写另一个相同但包含一些修改的类文件.为此,我觉得我肯定需要一个状态monad来至少保存包含类文件所有字节的[Word8].然而,在我对Haskell的State Monads的所有研究之后,我仍然无法弄清楚如何做到这一点.谁能指出我正确的方向?我希望能够有一个[Word8](或者你知道,任何数据类型)在所有函数的范围内,我可以从函数中修改.我理解这涉及使用状态<-get ... put newstate
但我真的不知道从哪里开始定义monad和诸如此类的东西.
非常感谢提前!
我不确定你是否想要一个Statemonad.根据什么样的你想修改的,你都不准只是传递要修改每一个想要修改它的功能的数据.State通常用于除了修改状态之外还要生成值的情况,即当您编写许多看起来像的函数时s -> (s,a).
首先尝试一下正常功能方法.State它并不神奇,它只是使某些类型的代码更容易快速,简洁和正确地编写.你可以用它做的一切你也可以没有它,它只是有点乏味.
| 归档时间: |
|
| 查看次数: |
319 次 |
| 最近记录: |