Isn't a (defmodule X) just a way of setting the default namespace for templates, facts, queries and rules? This, then, means that the execution of a (defmodule X) doesn't really imply that a module has come into existence. (Or does it create an empty module X and does (focus X) achieve anything useful?)

Anyway, the point I'm trying to make is that only the arrival of some template/fact/query/rule of some module M really establishes that module M as a useful object. And since it is possible to override the default module name only a look at the full name of some new template/fact/query/rule will tell which module this item belongs to.

Deleting a module is extremely tricky and has - in the general case - many hidden snags: - If (delete-module M) is executed on the RHS of a rule M::r, what does this mean? - What if the deleted module is on the focus stack? Remove it silently, throw an exception,...? - Any fact or template or query from some module M1 can be referenced from a rule or query of some other module M2. Apart from some complex checking, what should happen if this is detected?
  - What if you have a (deftemplate M2::T2 extends M1::T1)?
  - ...

kr
Wolfgang

Henrique Lopes Cardoso wrote:

I believe this was the second time you give me this kind of answer :).
But I don't see any improvements in Jess71a2...
Can I expect undefmodule and module-related events to be added in the
next alpha version?

Thanks.

Henrique


--------------------------------------------------------------------
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]
--------------------------------------------------------------------

Reply via email to