2016-06-12 21 views
1

下に説明することができ、誰もがalgebricデータ型以下ハスケル:誰でもalgebricデータ型

data LOS = Cons Student LOS | Empty deriving (Show) 

type Name = String 



data Student = Student   
    { firstName :: Name 
    , lastName :: Name 
    } deriving (Eq, Show) 

を説明することができ、私はそれがLOSデータ型

+5

これはまさにStudentのリストです - Consは ':' 'Empty'は' [] ' – Carsten

+2

' LOS'の再帰的定義は(リンクされた)リストに似ています。その型の値は、空のリストか、ペイロードとリストの残りの部分を含むノード(Cons'と呼ばれます)です。 – stholzm

+2

再帰的なデータ型の紹介:https://en.wikipedia.org/wiki/Recursive_data_type –

答えて

4
の建設を混乱見つけます

LOSは、学生のリストを定義しています。空リスト(Empty)またはCons(いずれかの値またはリストの残りの部分を保持)があります。

要素(Cons s1 Empty)、2つの要素(Cons s1 (Cons s2 Empty))などのリストを持つリストを持つことができます。