I think Henrique Lopes Cardoso wrote: > > So, if I understood correctly, facts can only be asserted in the module > where their templates are defined
Yes. > > Therefore, if I have a template defined in MAIN, I cannot create a fact > based on that template in another module. Right. > Another observation: using a module name at a deftemplate definition > (e.g. (deftemplate m::the-facts ...)), if that module is the current > module, is irrelevant. Redundant, yes. The effect will be the same without it. A fact and a template are related in exactly the same way that a Java object and a Java class are related. In this scheme, a module is like a Java package. Every object must belong to a class; every class must be in some package. Every fact must belong to a template; every template must be in some module. So facts don't belong to modules any more than Java objects belong to packages, right? You can't "create a java.lang.String in the java.util package;" it just doesn't make sense, in the same way that you can't "create an X::foo fact in the Y module." You can use Strings in code in the java.util package, or you can use X::foo facts in a rule in the Y module. --------------------------------------------------------- Ernest Friedman-Hill Advanced Software Research Phone: (925) 294-2154 Sandia National Labs FAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] --------------------------------------------------------------------