我正在Haskell中学习一个类,我们需要为以下定义的树定义折叠操作:
data Tree a = Lf a | Br (Tree a) (Tree a)
Run Code Online (Sandbox Code Playgroud)
我似乎无法找到关于"tfold"操作的任何信息,或者它真的应该做什么.任何帮助将不胜感激.
我在Haskell中编写一个函数,它接受一个Java类文件,并编写另一个相同但包含一些修改的类文件.为此,我觉得我肯定需要一个状态monad来至少保存包含类文件所有字节的[Word8].然而,在我对Haskell的State Monads的所有研究之后,我仍然无法弄清楚如何做到这一点.谁能指出我正确的方向?我希望能够有一个[Word8](或者你知道,任何数据类型)在所有函数的范围内,我可以从函数中修改.我理解这涉及使用状态<-get ... put newstate
但我真的不知道从哪里开始定义monad和诸如此类的东西.
非常感谢提前!