アヤチノオト

覚書のこと

すごい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