任何人都可以解释下面的代数数据类型
data LOS = Cons Student LOS | Empty deriving (Show)
和
type Name = String
data Student = Student
{ firstName :: Name
, lastName :: Name
} deriving (Eq, Show)
我发现它混淆了LOS数据类型的构造
答案 0 :(得分:4)
LOS
正在定义学生列表。您有一个空列表(Empty
)或Cons
,它同时包含值或列表的其余部分。
您可以拥有一个包含元素(Cons s1 Empty
)的列表,一个包含两个元素(Cons s1 (Cons s2 Empty)
)的列表,依此类推。