TL;DR
純粋関数型の関数型プログラミング言語。静的型付けで、型推論と遅延評価を備える。
仕組み
公式サイトでは、次の特徴を挙げている。
- 静的型付け: すべての式の型がコンパイル時に決まる。型の合わないコードは実行前に弾かれる
- 純粋関数型: 文や命令はなく、変数を書き換えない式だけで書く。関数は副作用を持たず、IO は値として表す
- 型推論: 型の多くはコンパイラが推論するので、すべてを明示的に書く必要はない
- 並行処理: 作用を明示的に扱うので、並行プログラミングと相性が良い
- 遅延評価: 関数は引数を必要になるまで評価しない。そのため
if/elseのような制御構造も、普通の関数として書ける
関連
- 関数型プログラミング
- 純粋関数型プログラミング