🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.lang.apl
Article #44

extending apl conformity

#44
From: utzoodecvaxharpouwvaxgreg
Date: Tue, 06 Jul 1982 16:40
23 lines
1709 bytes
One of the nice (amazing?) aspects of apl is the generality of functions
with respect to the shape of their arguments.  I can say 'a := a + 4'
or 'sum := +/ a' with almost no concern for whether 'a' is an array with
7 dimensions or a simple vector.  'Boundary' errors are often avoided in
apl because statements usually make sense even if an argument is
degenerate.
I claim, however, that apl would do well to extend the above principle far
beyond its current level.  Arrays, operators, and functions are all just
different manifestations of the same basic idea, and yet there are
profound syntactic and semantic inconsistencies among their respective
treatments in apl.  If I understood him correctly, this was one of the
points that Alan Perlis made in his talk at APL '81.  If a function is
thought of as a set of ordered pairs with the property that no two elements
are the same in the first slot, then an array is simply a set defined
via exhaustive enumeration, and a function (in the apl sense) is just a
set defined by providing a rule.
Array indexing, function evaluation, and application of operators would
all have the same syntax in this approach.  This would of course make
apl look completely different, and it is probably best to think of this
approach as being the basis for defining a new language, Son of Apl
(and Lisp).
				    - Greg Johnson
				      U Wis - Madison
Technical Details
Message-ID: <bnews.uwvax.466>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
From: utzoo!decvax!harpo!uwvax!greg
Newsgroups: net.lang.apl
Title: extending apl conformity
Article-I.D.: uwvax.466
Posted: Tue Jul  6 16:40:59 1982
Received: Wed Jul  7 01:31:04 1982
Subject: extending apl conformity
Date: Tue, 06 Jul 1982 16:40:59 +0000
Message-ID: <bnews.uwvax.466>