すごいHaskell楽しく学ぼう!
7章9節まで読んだ。
型コンスタラクタと値コンストラクタの違いをしっかり覚えることがポイントなんだそうな。
例えば二次元座標を表すPoint型をつくる。
data Point = Pointxy Float Float
この場合Pointが型コンストラクタ。Pointxyが値コンストラクタ。
値コンストラクタをひとつしか持たない型コンストラクタは同じ名前にする慣例があるのでこうする。
data Point = Point Float Float
同じ名前になっても左辺のPointと右辺のPointは別ものであることに注意。
値コンストラクタは次のようにしてPoint型のデータを作ることが出来る。
hoge = Point 1.0 2.0