Soy nuevo en Haskell, así que estoy tratando de descubrir cómo hacer recorridos de árboles.Cómo transformar un árbol utilizando Chatarra ¿Su texto repetitivo?
Aquí está el ejemplo de la empresa (con un ligero cambio) que he visto en varios trabajos
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
Lo que me gustaría hacer es mover un Empleado de donde está a un departamento en particular. Esta persona podría estar en un departamento o en un ThinkTank.
Parece fácil hacer cosas en SYB siempre que esté haciendo un tipo, pero no estoy seguro de cómo tratar con múltiples tipos de datos.