Why It Fits
選ぶ理由
- 純粋関数型で副作用を型で制御
- 強力な型システムで安全
- 宣言的で簡潔・数学的
Language Profile
Haskell 委員会 / 1990年登場
純粋関数型のパイオニア的言語。副作用を型で管理し、遅延評価と強力な型システムを持つ。学術・研究や、堅牢さが要る領域で評価される。
Specifications
Introducing
Decision Guide
採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。
Why It Fits
Trade-offs
Best Fit
Deep Dive
Haskell は 1990 年に委員会によって設計された、純粋関数型プログラミングのパイオニアです。「同じ入力なら必ず同じ出力を返す」純粋性を徹底し、副作用すら型で管理する点が大きな特徴です。研究と実務の橋渡しを意識して作られた言語です。
ファイル書き込みや画面出力といった副作用は、IO という型で明示されます。純粋な計算と外界とのやり取りを型レベルで分離するため、関数の振る舞いをシグネチャから推測しやすくなります。値は必要になるまで計算されない遅延評価が基本で、強力な型推論が記述の負担を減らします。
-- 型を見れば「整数を受け取り整数を返す」とわかる
double :: Int -> Int
double x = x * 2 -- 副作用のない純粋関数
学習コストは非常に高く、モナドや型クラスといった抽象概念の壁を越える必要があります。命令型言語の習慣がかえって妨げになることもあります。
研究・教育、金融など高信頼が求められる分野、言語処理系の開発で選ばれます。関数型の考え方を体系的に学ぶ教材としても価値があります。
Language Decision
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
研究・教育(関数型)
型付け: 静的・強い型付け(型推論・純粋) / 実行方式: コンパイル(GHC) / パラダイム: 純粋関数型(遅延評価)
強力な型システムで安全
学習コストが非常に高い
First Step
main :: IO ()
main = putStrLn "Hello, World!"公式ドキュメント