On 24/10/2012, at 00:18, Joachim Schimpf <jschimpf_at_...311...> wrote: > On 24/10/2012 01:06, Paulo Moura wrote: > ... >> [eclipse 28]: create_module(n, [], []). >> >> Yes (0.00s cpu) >> [eclipse 29]: assert(bar(99)) _at_ n. >> >> Yes (0.00s cpu) >> [eclipse 30]: call(bar(X)) _at_ n. >> calling an undefined procedure true in module n >> Abort >> >>> From the manual: >> >> create_module(Module) :- >> create_module(Module, [], eclipse_language). >> >> Thus, it seems my mistake was to omit the "eclipse_language" in the imports argument. > > Whether it's your mistake is debatable ;) > > create_module(m,[],[]) makes a really empty module, i.e. one that doesn't > even have any built-in predicates visible, in particular not true/0. So, there's no true in an empty module :-) > If assert/1 didn't turn bar(X) into (bar(X):-true) your example would work > anyway. In fact, it works if you use compile_term/1 instead of assert/1... Thanks for the explanation. I would not have guessed it. Cheers, Paulo ----------------------------------------------------------------- Paulo Moura Logtalk developer Email: <mailto:pmoura_at_...342...> Web: <http://logtalk.org/> -----------------------------------------------------------------Received on Wed Oct 24 2012 - 08:26:35 CEST
This archive was generated by hypermail 2.3.0 : Wed Sep 25 2024 - 15:13:20 CEST