Re: Ann: SWI-Prolog 7.1.0
Alan Baljeu <[email protected]>
| Newsgroups | gmane.comp.ai.prolog.swi |
|---|---|
| Message-ID | <[email protected]> |
> 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'. Put me in with Jeff on this. If the past were otherwise, I would have functor(X, f, 0), !,X == f() so that all predicate calls use the (). If you make the code so that in most all cases f() and f behave the same that might be okay as well, but it's a recipe for confusion when there's different meanings depending on the syntax. But my main argument is not about breakage or uselessness. I'm prepared to fix broken code and actually use new features. But I find the features are confusing when you try to do the advanced meta-stuff that Prolog is supposed to be good at. What about code like this: invoke(Map, Pred, Args, Result) :- F =.. [Pred|Args], Result = Map.F. Apparently nothing of the sort is possible.