Re: Ann: SWI-Prolog 7.1.0
"Richard A. O'Keefe" <[email protected]>
| Newsgroups | gmane.comp.ai.prolog.swi |
|---|---|
| Message-ID | <[email protected]> |
On 23/11/2013, at 6:56 AM, Alan Baljeu wrote: > > I distinctly remember the awkwardness of coding expressions where > a term could be an atom or a list, and running into [] being both. Well, writing stuff where "a term could be an atom or a list" was a rather silly thing to do in the first place. > > - Quoted atoms are no longer operators. > > > Like Haskell. Good idea. How is this like Haskell? Haskell doesn't *have* atoms, and what `` quotes do in Haskell is precisely to turn identifiers into operators. > > - Unquoted atoms may contain internal dots. E.g., a.b is an > atom. > > I find this confusing given V.b is emphatically not an atom. > What's the motivation? Could it be the same as Erlang, where lists.iai.uni_bonn.de is an atom? (But lists.iai.uni-bonn.de is not; helpful tricks that fail at unexpected moments are false friends.) > - functor() is valid syntax. It produces a term that is distinct > from 'functor'. The `block' operator '()' to hack this syntax > has been removed. > > So call(plus(), 2,3,X) is now a thing? > I used to wish for this syntax, but now I can't remember why. Something like this used to exist in Poplog and SigmaPROLOG, where it was an artefact of representing compound terms as (basically) [<atom>|<array>]. As I recall, it was an unmitigated nuisance. >