Haskell 入門 #1 | NANOG

Haskell 入門 #1

Wataru "Alt" Ohgai <alt@jj1lfc.dev>

2023/10/28 NANOG 言語勉強会

Haskell 入門 #1 | NANOG

前書き

本講は Haskell 初心者の Alt が教科書で学んだ内容をアウトプットするものです.
英語版原著を基に最新の情報を交えながら日本語で進めていきます.

教科書・参考・出典

クレジット

作成者: Alt <alt@jj1lfc.dev>
ライセンス: CC BY-NC-SA 3.0 Deed

Haskell 入門 #1 | NANOG

Introduction

関数型プログラミング

  • Haskell は純粋関数型プログラミング言語である
    • 対義語: 手続き型プログラミング言語
  • 手続き型ではタスクと順序を記述し実行させる
  • 関数型では...
    • 与えるものが何なのかを関数の形で記述する
    • 一度変数を定義したらあとから変えられない
  • 同じ引数で同じ関数を呼べば必ず同じ結果になると保証されている (参照透過である)
Haskell 入門 #1 | NANOG

遅延評価

  • Haskell は lazy である
    • 必要に迫られるまで関数の実行・評価を行わない
  • 参照透過性とあわせて,プログラムをデータの遷移と考えることができる

(あまり良い例が載っていないので #2 以降で説明...)

Haskell 入門 #1 | NANOG

静的型付け

  • Haskell は静的型付け言語である
    • 多くのエラーをコンパイルの時点で検出可能
  • 型推論をしてくれるので明示的に型を書かなくても動く
Haskell 入門 #1 | NANOG

Haskell するための準備