Yomiage
メニュー

初心者向け Haskell 入門:関数型の世界へ

更新 2026/7/4 13:42:59 公開

投稿者: しゅりりん

Haskell とはどんな言語か

Haskell は「純粋関数型プログラミング言語」の代表格です。Java や Python が「手順を順番に書く」命令型の言語だとすれば、Haskell は「値の変換を関数の組み合わせで表現する」言語です。考え方が大きく異なるぶん、学ぶことで他の言語でのプログラミングにも良い影響があります。

最初のプログラム

処理系は GHC が標準です。対話環境の GHCi を使うと1行ずつ試せます。

main :: IO ()
main = putStrLn "Hello, Haskell!"

main :: IO () は「main は入出力を行うアクションである」という型の宣言です。

関数がすべての中心

Haskell では関数の定義がとてもシンプルです。数学の関数定義とほぼ同じ見た目になります。

double :: Int -> Int
double x = x * 2

add :: Int -> Int -> Int
add x y = x + y

Haskell の3つの特徴

  • 純粋性:関数は同じ入力に対して必ず同じ出力を返し、外部の状態を変更しない
  • 遅延評価:値は本当に必要になるまで計算されない。無限リストさえ扱える
  • 強力な型推論:型を書かなくてもコンパイラが推論してくれる(それでも型を書くのが良い習慣)
-- 無限リストから最初の5つの偶数を取り出す
takeFiveEvens :: [Int]
takeFiveEvens = take 5 (filter even [1..])

「無限のリストを作ってから絞り込む」という発想は、遅延評価があるからこそ可能です。

学習のすすめ方

1. GHCup で GHC と GHCi をインストールする 2. GHCi で式を1つずつ評価して感覚をつかむ 3. リスト操作(map、filter、fold)を徹底的に練習する 4. 型クラス(Functor、Monad)は焦らず後回しでよい

Haskell は最初の壁が高い言語ですが、「小さな関数を組み合わせて大きな処理を作る」感覚が身につくと、プログラミングの見え方が変わります。急がず楽しんでください。

このブラウザでは Web Speech API が利用できません。

1 / 21 · 停止中