假设球拍的数据记录代码:
#lang datalog
price(a, 1).
a1(A) :- price(A, Price), Price > 0.
a1(A)?
我希望结果:
a1(a)
我收到错误:
prices_datalog.rkt:4:32: datalog: Unexpected token IDENTIFIER in: ">"
我该如何解决这个问题?
答案 0 :(得分:1)
看起来它没有直接支持。但您可以定义自己的运算符。
#lang datalog/sexp
(! (:- (gt X Y)
(> X Y :- #t)))
(! (price a 1))
(! (price b 2))
(! (price c 3))
(! (price d 4))
(! (:- (a2 X)
(price X Y)
(gt Y 2)))
(? (a2 X))
;; outputs
a2(c).
a2(d).