ラムダ計算
ラムダ計算(ラムダけいさん、lambda calculus)
λ計算とも
Alonzo ChurchとStephen Cole Kleeneが1930年代に発明した計算モデル
関数をより抽象的に扱う
便利なこと
関数の引数と処理を見分けやすく、書く量が少ない記法になっている
カリー化した関数を簡単に表せる(?)
$ \lambda x. x
$ λ[入力].[出力] のイメージ
ラムダ式の定義をBNF記法で書いたものは
$ M ::= x \ |\ λx.M \ |\ M M \ |\ (M)
$ M : ラムダ式$ M
$ x : メタ変数$ x
$ λx.M : ラムダ抽象(lambda abstraction)
$ M M : ラムダ適用(lambda application)
code:memo.hs
-- λx.e
-- Haskellでの例
f :: x -> e
ラムダ計算にもいろいろある
型無しラムダ計算
型付きラムダ計算
単純型付きラムダ計算
依存型付き型付きラムダ計算?
ラムダ計算を学習する
α-変換
β-簡約
η-変換
関連
チューリングマシン
SKIコンビネータ
フレーゲ
λHOL
λ-2D
参考
大堀 淳. 2019-08-13. 『新装版 プログラミング言語の基礎理論』 .
P16 1.4.1 型無しラムダ計算の定義
「ラムダ計算」を独学で学習するための,講義ノートやPDFのリンク集 (復習用の問題付き) - 主に言語とシステム開発に関して
https://www.kurims.kyoto-u.ac.jp/~cs/lecture2009/lecture090507.pdf
住井 英二郎. 2005. ラムダ計算入門 2005 年度「計算機ソフトウェア工学」授業資料
亀山 幸義. 2014. 『計算論理学』講義資料
/mrsekut-p/ラムダ計算
https://youtu.be/puND0CZoqLc?si=vZmvP7nFMi-tVzCe
Lambda Calculus — Programming Language Principles and Paradigms 0.4 documentation
メモ
勝股 審也. 2011. コンピュータ・サイエンス入門 ラムダ計算第 1 回目資料
ラムダ計算入門 | PPT