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