使Prolog语法看起来像一阶逻辑语法的方法?

JCR*_*JCR 0 syntax prolog

我正在寻找方法使Prolog程序"看起来"更像是第一顺序逻辑.我想要的东西是例如:

  • - >暗示
  • 先于左边 - >
  • ^用于结合v用于析取

或者是否有其他软件已经实现了这一点?

提前致谢!

/ JC

小智 5

在SWI-Prolog上使用term_expansion/2是Prolog的宏:

% calc.pl
:- op(1200,xfx,--).
term_expansion(A--B,B:-A).

integer(I)
--%----------------------- (E-Int)
I => I.

E1=>I1, E2=>I2, I is I1+I2
--%----------------------- (E-Add)
E1+E2 => I.

:- 1+2+3=>6.
:- 1+2+3=>I,writeln(I).
:- halt.
Run Code Online (Sandbox Code Playgroud)

并运行

$ swipl calc.pl
6
Run Code Online (Sandbox Code Playgroud)