Chapter 2. Types and Functions
Real World Haskell をこれからちょっとずつ読んでいき,そのときのメモのようなものをここに残していきたいと思う.
ツッコミ歓迎.
今日は Chapter 2.
Chapter 2. Types and Functions
type system
- strong types
- 暗黙の型変換(coercion)が行われない
- static types
- 型はコンパイル時に確定する
- type inference
- 明示的にtype signatureを書かなくてもコンパイラが型を推論する
これらの特徴により,コンパイルさえ通れば実行時のエラーはまず起こらなくなる.
evaluation
Haskellは必要になるまで式を評価しない.
この特徴をnon-strict(非正格)と言い,このような評価をlazy evaluation(遅延評価)と言う.
これは式をthunkとして記録しておくことで達成されている.