コンピュータによる計算とは何か?コンピュータで行える計算の限界はどこにあるのか?――計算機科学におけるもっとも基本的,かつ重要な疑問を,プログラミングを通して紐解く一冊.
本書では,チューリング機械・帰納的関数・ラムダ計算などのさまざまな計算モデルを取り上げ,それぞれのモデルにおける計算の基礎理論と計算可能性を,豊富な具体例と問題を通して解説します.
また,計算モデルの数学的基礎だけでなく,これらのモデルをもとに実装されたプログラミング言語についても,紙面を割いて解説しています.計算の理論と実装例とを比較しながら学習することで,スコープ・カリー化・継続など,抽象的で掴みづらいプログラミング技法への理解が深まります.
第1章 計算の世界と計算モデル
第2章 抽象機械型計算モデル
第3章 命令型計算モデル
第4章 関数型計算モデル ―帰納的関数―
第5章 関数型計算モデル ―ラムダ計算―
第6章 論理型計算モデル
付録A 数学の準備
付録B チューリング機械シミュレータ
付録C レジスタ機械シミュレータ