Subject: RE: [SWIPL] Happy NY and bugfix in new call/1

From: Jan Wielemaker <[email-masked]>
Date: Wed, 9 Jan 2002 14:02:55 +0100

On Wed, 09 Jan 2002, Lyosha Ilyukhin wrote:

Lyosha Ilyukhin,

>I guess I might have found another bug with new version of prolog.
>
>go :-
>	flag(a, _, 0),
>	A=(member(_,[1,2,3]),flag(a, F, F+1), format('~w~n',[F]),
>	   (F>=999999 -> fail;true)),
>	A,
>	fail.
>
>?- go.
>0
>ERROR: flag/3: Type error: `flag_value' expected, found `_G214+1'

Yip.  Please find the patched version on the CVS server.  The good news
is that this patch makes the new implementation even faster and more
compact.  The bad news was I thought I understood all implications of
the new implementation, which is obviously falsified :-(

Also fixed tracing built-in predicates called from call/1.

If there are other people passing complicated control-structures to
any meta-predicate and experience to work from the CVS server, please
test your program.  If your program was fine on 4.0.11 it should give
the same result almost certainly a bit quicker and in some cases much
quicker.

Especially if you have lots of these nasty constructs, please report
success too!

I'd like to release 4.1.0 which many small enhancements shortly, but I
want to be confident meta-calling problems are gone forever first.

	Regards --- Jan