0
我想將this Prolog code移植到Racket中的Datalog,使用this page底部的示例。Datalog代碼在Racket中不起作用
#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 `['
如何代表數據記錄列表?謝謝你的幫助。
因此,對於這樣的任務最好使用Prolog iteself。任何其他採用Prolog代碼的方案?還是Haskell? – rnso
在這些問題的背景下,我個人的建議是直接使用Prolog:它是一種成熟的編程語言,也有內置的數據庫。爲什麼不直接跳到真實的東西? – mat