テストですが、Prologで計算機作ります。
Prologは一階述語論理を完全性を捨ててチューリング完全にして自動計算出来るようにしたものです。故に、規則を書くだけで計算機が作れます。
eval(I,I):-integer(I).
eval(A+B,I):-eval(A,I1),eval(B,I2),I is I1+I2.
:-eval(1+2+3+4,R),writeln(R).
:-halt.
これだけで出来上がりです。
実行するには、eval.pl
と名前をつけて
$ swipl eval.pl
10
とします。
このように Prolog は試験管のように簡単に扱えるので便利です。