racklog icon indicating copy to clipboard operation
racklog copied to clipboard

Module language does not support "not equals"

Open jecxjo opened this issue 2 years ago • 0 comments

Per the manual Racklog's module language accepts the Datalog syntax. I noticed that the not equals != triggers an error when loaded under #lang racklog. The same code loads fine when set to #lang datalog

#lang racklog

edge(a, b).
edge(b, c).
edge(c, d).
edge(d, a).

neighbor(X, Y) :- edge(X, Y).
neighbor(X, Y) :- edge(Y, X).

close_neighbor(X, Y) :- neighbor(X, Y).
close_neighbor(X, Y) :- neighbor(X, Z), neighbor(Z, Y), X != Y.

close_neighbor(a, Y)?

Error:

!=: unbound identifier;  
 also, no #%top syntax transformer is bound
  in: !=
  context...:
   /usr/share/racket/collects/racket/private/stxparam.rkt:61:2

jecxjo avatar Aug 18 '23 04:08 jecxjo