I defined the following use site:

binding rules

  RelNavExpr(ClassRef(SSRef(ss), c), Some(RelNavExpr(RelRef(r), x))):
    refers to Rel r
      of subsystem ss
      of class c

and the following type rule:

type rules

  RelRef(r) :-
  where
    definition of r : type
    else error "type undefined" on r

NaBL binds the references correctly, but I get unexpected “type undefined” errors.

Only when I make the type rule match the binding rule, things work properly (no errors):

  RelNavExpr(classRef, Some(RelNavExpr(RelRef(r), x))) :-
  where
    definition of r : type
    else error "type undefined" on r
Submitted by Oskar van Rest on 18 December 2013 at 09:13

Log in to post comments