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