我是 Haskell 新手,所以我想弄清楚如何进行树遍历。
这是我在几篇论文中看到的 Company 示例(略有改动)
data Company = C [Dept] deriving (Eq, Show, Typeable, Data)
data Dept = D Name Manager [Unit] deriving (Eq, Show, Typeable, Data)
data ThinkTank= TK Name [Unit] deriving (Eq, Show, Typeable, Data)
data Unit = PU Employee | DU Dept deriving (Eq, Show, Typeable, Data)
data Employee = E Person Salary deriving (Eq, Show, Typeable, Data)
data Person = P Name Address deriving (Eq, Show, Typeable, Data)
data Salary = S Float deriving (Eq, Show, Typeable, Data)
type Manager = Employee
type Name = String
type Address = String
我想做的是将一名员工从他所在的位置转移到特定的部门。此人可能在某个部门或智库中。
在SYB中,只要做一种类型,似乎很容易做事,但我不知道如何处理多种数据类型。
最佳答案
cs.uu.nl 上的教程似乎消失了。我为此苦苦挣扎了一段时间,梳理了论文,然后写下了 this tutorial 。希望您觉得它有用。
关于haskell - 如何使用 Scrap Your Boilerplate 来改造一棵树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2391360/