🧪

テストですが、Prologで計算機作ります。

2020/10/07に公開

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 は試験管のように簡単に扱えるので便利です。

Discussion