関数モデル
プログラムとは関数だ!
このプログラムを実行するのが関数モデル
関数というのは、よくあるプログラム内の関数と考えていい
関数には2つの側面がある
計算の抽象化
関数を組み合わせることでf(x) + g(y)のように、実際にf(x)がどんな値になるかを知らないまま、値として扱うことができる
複雑な計算も、小さい簡単な関数の組み合わせで表現できる
計算手続きの集合と捉える
「$ xと$ f(x)の対応」としてみる
引数を変えたときの$ f(x)の変化、のような写像としての側面
例
プログラムとはλ項であり、実行とはλ項の簡約である
λ項が値になれば、プログラムは終了する!