数据记录代码在球拍中不起作用
Datalog code not working in Racket
我正在尝试移植 this Prolog code to Datalog in Racket, using example at bottom of this page。
#lang datalog
edge(a, b). edge(b, c). edge(c, d). edge(d, a).
path(X, Y) :- edge(X, Y).
path(X, Y) :- edge(X, Z), path(Z, Y).
path(X, Y)?
pathall(X,X,[]).
pathall(X,Y,[X,Z|L]):- arc(X,Z),pathall(Z,Y,L).
pathall(a, d)?
但是它在最后一行代码的 [X,Z|L]
给出了这个错误:
read: expected a `]' to close `['
如何在 Datalog 中表示列表?感谢您的帮助。
Datalog 是 Prolog 的语法子集。
特别是,Datalog 不 支持列表 等复合词。
我正在尝试移植 this Prolog code to Datalog in Racket, using example at bottom of this page。
#lang datalog
edge(a, b). edge(b, c). edge(c, d). edge(d, a).
path(X, Y) :- edge(X, Y).
path(X, Y) :- edge(X, Z), path(Z, Y).
path(X, Y)?
pathall(X,X,[]).
pathall(X,Y,[X,Z|L]):- arc(X,Z),pathall(Z,Y,L).
pathall(a, d)?
但是它在最后一行代码的 [X,Z|L]
给出了这个错误:
read: expected a `]' to close `['
如何在 Datalog 中表示列表?感谢您的帮助。
Datalog 是 Prolog 的语法子集。
特别是,Datalog 不 支持列表 等复合词。