🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #1316

Re: Standards question: behavior of arg/3

#1316
From: Fernando Pereira
Date: Tue, 23 Oct 1990 14:10
35 lines
2204 bytes
In article <35150@cup.portal.com> pgl@cup.portal.com (Peter G Ludemann) writes:
>	- Prolog-II, Prolog-III, IBM-Prolog (and others?) have a more
>	  generalized view of functors.  For example, using this view,
>	  one could define =../2 by the infinite list of clauses: 
>		F      =.. [F] . 
>		F()    =.. [F] .
>		F(A)   =.. [F,A] .
>		F(A,B) =.. [F,A,B] .
>			etc.
>	  Furthermore, a principal functor is not limited to be an atom;
>	  it can be any term.  Using the syntax <<f(a),2,3>>, the principal
>	  functor is itself a functor: f(a).
>	
>	  Of course, this extended view is *not* Edinburgh Prolog
>	  (which also doesn't properly support the "infinite rational
>	  trees" of Prolog-II and IBM-Prolog)

More seriously, it is also incompatible with standard logical and
algebraic views of the universe of terms given as a free algebra
over a signature given by the set of function symbols (with their arities).
This is not just formal pedantry. Function symbols allow us to make more
distinctions than are possible in a system based on a single `cons'
constructor. Of course, it is possible to *encode* the terms over any
finite signature as terms over a signature including just cons/2 and
a suitable set of constants (to fake the function symbols), but such
encodings are error-prone. There's preciously little data abstraction
in the standard term algebra as it is. Obliterating the distinctions
afforded by function symbols doesn't make the situation any better.
In contrast, support for rational terms does not eliminate existing
distinctions.

Fernando Pereira
2D-447, AT&T Bell Laboratories
600 Mountain Ave, Murray Hill, NJ 07974
pereira@research.att.com
Technical Details
Message-ID: <11526@alice.att.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watserv1!watmath!att!att!dptg!ulysses!andante!alice!pereira
References: <9888@bunny.GTE.COM> <3992@goanna.cs.rmit.oz.au> <1920@tuvie> <35019@cup.portal.com> <4037@goanna.cs.rmit.oz.au> <35150@cup.portal.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watserv1!watmath!att!att!dptg!ulysses!andante!alice!pereira
From: pereira@alice.att.com (Fernando Pereira)
Newsgroups: comp.lang.prolog
Subject: Re: Standards question: behavior of arg/3
Message-ID: <11526@alice.att.com>
Date: 23 Oct 90 14:10:31 GMT
References: <9888@bunny.GTE.COM> <3992@goanna.cs.rmit.oz.au> <1920@tuvie> <35019@cup.portal.com> <4037@goanna.cs.rmit.oz.au> <35150@cup.portal.com>
Reply-To: pereira@alice.UUCP ()
Organization: AT&T, Bell Labs
Lines: 36