Chr*_*ris 7 tree haskell traversal
我是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
Run Code Online (Sandbox Code Playgroud)
我想做的是将员工从他所在的地方转移到某个特定的部门.这个人可能在部门或ThinkTank.
只要你做一种类型,在SYB中做事似乎很容易,但我不知道如何处理多种数据类型.
您需要从SYB教程开始,
主要的遍历功能是:
尽情使用那些来了解API,你会解决它.
SYB泛型不仅仅是一个初学者Haskell练习.