この本で、はじめてプロログを書きました。
まず、GNU prologをダウンロードして、本に書かれているプログラムを実行しました。
GNU prologのプロンプトは、本に書いてあるEdinburgh DEC-10 Prolog3.54とほぼ同じでした。
本書では、ロジックプログラミングの歴史が書かれています。論理言語、仕様言語、プログラミング言語について体系的に記述しているので、言語体系の整理にも役立ちました。計算のモデルは2つに分類されています。
第一水準:チューリング機械
第二水準:プログラミング言語のモデル化
一階述語論理(first-order predicate logic),ラムダ計算(lambda calculus)
言語族π(パイ)は
1(π1) 問題を記述する枠組みとしての述語論理式:述語論理式
2(πs) プログラムの仕様を記述する言語:仕様記述言語(specification, strategy)
3(π0) 電子子計算機上で実行させるための言語:操作記述言語
プロログ(Prolog)が、操作記述言語に相当するということは、忘れがちなことでした。
ps.
| ?- factorial(16,N).
N = -143294464 ?
となりました。計算上は自然数、表示はマイナスということでしょうか。