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.

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