I'm using clipspy. I want to define some module-rules to assert module-facts. The rule is based on facts from multiple modules. I get a CLIPS Error:
Illegal use of the module specifier
import clips
env = clips.Environment()
env.build("(defmodule module1)")
env.build("(defmodule module2)")
env.build("(deftemplate module1::X (slot A) (slot B))")
env.build("(deftemplate module2::Y (slot C) (slot D))")
env.build("(defrule module2::rule1 (module1::X (A ?A) (B One) => (printout t hello crlf))")
print(env.find_rule("module2::rule1)
I learned that if I define a rule within a module using the fact from the same module, I don't get the error.
env.build("(defrule module1::rule1 (X (A ?A) (B One) => (printout t hello crlf))")
print(env.find_rule("module1::rule1))
I want to construct a rule using facts from multiple modules. I don't get the error when working with Jess but I run into this problem when using clipspy.