Pfc: call to a { goal(abc) } on the rhs adds the baseKB prefix baseKB:goal(abc) and fails to + remedy

Hello @DouglasRMiles,

A few comments, in case its helpful:

In a module I have defined a forward chaining rule that includes a call to a prolog goal. As so:

:- module(myMod, [

]).

:- ain(condition(1) ==> { do_something(condition(1) } ).

do_something(Param) :- 
       body ...

Upon execution the prolog goal is called with the baseKB prefix, and is therefore not found.

To overcome this i did three things:

  1. defined the goal in the module interface
  2. qualified the goal with the module name in the rule’s rhs: {myMod:do_something(condition(1) }
  3. qualified the goal the definition of the module – the pre-processor seems to pick it up, so the module does not compile
myMod:do_something(Param) :-
  body ...

thanks,

Dan