我是 Haskell 的新手,所以我想弄清楚如何进行树遍历。
这是我在几篇论文中看到的公司示例(略有变化)
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中做事情似乎很容易,但我不确定如何处理多种数据类型。
最佳答案
您需要先阅读SYB教程,
主要的遍历功能是:
尝试一下这些内容,以了解API,然后您将逐步解决这一问题。
但是,SYB泛型不只是初学者Haskell练习而已。
关于haskell - 如何使用 Scrap Your Boilerplate 改造一棵树?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2391360/