Mac (El Capitan 10.11.2) で XSB Prolog を実行しています: XSB バージョン 3.6。(Gazpatcho) 2015 年 4 月 22 日の [i386-apple-darwin15.2.0 64 ビット; モード: 最適; エンジン: slg-wam; スケジュール: ローカル] [ビルド日: 2016-01-17]
私は clpr パッケージを使用していて、ちょっとしたメタインタープリターを書きたいと思っています:
:- [clpr].
try((G1,G2)):- !, try(G1), try(G2).
try((G1; G2)):- !, try(G1); try (G2).
try(true):- !.
try({X}):- !, {X}.
try(G):- clause(G, Body), try(Body).
ただし、try({X=1+2})
機能しません。4 番目の句に一致せず、5 番目の句に降りてきます。
理由はありますか?