Re: Ann: SWI-Prolog 7.1.0

Jan Wielemaker <[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <[email protected]>
Hi Jeff,

On 11/25/2013 03:13 AM, Jeff Schultz wrote:
> On 24/11/2013 03:49, Jan Wielemaker wrote:

> (4)  functor(a(), F, N) raises a domain_error.

> I'm afraid that I don't see any use for it sufficient for such a large
> change to the Prolog data model, and it will complicate a lot of my
> code, but if we're to have it, could we try out (4) please?

The usefulness of each of the changes I've implemented has been
doubted by at least one person.  Generally the argumentation is that
it breaks things and `*I* don't need it'.  Of course, none of this is
needed.  Just big integers is enough as Paul Tarau showed elegantly
at the last CICLOPS :-)  Many of the die-hard Prolog programmers have
found their way to live with the limitations.  I have decided to
remove some of these limitations.  You are not forced to use any
of this.  Typically only the change of interpretation of double
quotes should hurt compatibility seriously.  The other changes only
break a few corner cases, while code that exploits these is often
already broken, only in a more subtle way.

That is the same for a().  That said, I think that the idea of turning
functor(a(), N, A) into a domain error and do the same for
a() =.. L is a sensible change.  It shouldn't affect any user code
that does not anticipate on the existence of a() terms.  It will mostly
trigger errors if a() terms are passed through libraries that are not
designed for handling them.  I'll give it a try.

	Thanks --- Jan
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.