Re: metacall being abolished.

Jan Wielemaker <[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <[email protected]>
On 07/18/2013 04:05 PM, Alan Baljeu wrote:
> In one file I have this:
> model_post(Spec) :-
> model:maplist(ignore, Spec).

I guess this is not handled correctly. Not immediately sure how to fix
this either. I'm mostly wondering what you are trying to do. I much more
intuitive way would be to write

model_post(Spec) :-
	maplist(model:ignore, Spec).

which will work correctly. Its not very clear to me what you are trying
to achieve. Call ignore(model:Item) for each element in Spec? Anyway,
this works fine:

==
:- use_module(library(apply_macros)).

model:test :-
	writeln(hello).

test :-
	model_post([test]).

model_post(Spec) :-
	maplist(model:ignore, Spec).
==

	Cheers --- Jan


>
> Subsequently when I recompile model.pl, I get this error:
> � � � � Loading module model abolished: [model:__aux_maplist/2_ignore+0/1]
>
> and
> Warning: The predicates below are not defined. If these are defined
>
> Warning: at runtime using assert/1, use :- dynamic Name/Arity.
> Warning:�
> Warning: model:'__aux_maplist/2_ignore+0'/1, which is referenced by...
>
>
> The aux predicate should have been created in the�
> other module. �The only remedy I can think of is to manually force the original�
> file to recompile every time. �This is a major nuissance. �
>
> Alan Baljeu�
> _______________________________________________
> SWI-Prolog mailing list
> [email protected]
> https://lists.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog
>

_______________________________________________
SWI-Prolog mailing list
[email protected]
https://lists.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.