3833
Comment:
|
3932
Added 'nomadic' plus minor formatting
|
Deletions are marked like this. | Additions are marked like this. |
Line 20: | Line 20: |
||term ||description|| | ||<rowstyle="background-color: #F3F5F7"> Term ||Description|| |
Line 37: | Line 37: |
||nomadic||used by some APLs as a synonym for 'ambivalent'|| |
Glossary Of Apl Terms
Please have a glance at:
http://en.wikipedia.org/wiki/APL_(programming_language)#APL_Glossary
It (the wikipedia table) has kilobytes of critcism on its Discussion page, is inconsistent, grammatically incorrect and should be replaced or removed. In fact the whole page is a mess but I'm not willing to tangle with the wikifascists over it.
The following is my suggestion for its replacement. It (preferably a better version) could be copied to wikipedia or the existing table could just be replaced with a link back here after we get it right. Either way this source can serve as Reference to avoid getting into the whole business with "[citation needed]" after every obvious statement of fact.
Please criticise it (the table below) mercilessly, add, amend, delete and let's get a consensus. Don't be frightened, you can hit [Preview] as many times as you like to get it right and you can always [Cancel] before [Save Changes] if you think you've messed it up.
Try to keep it as far as possible that terms used in a description are defined previously in the table. Try to keep it short enough that it doesn't attract criticism from others that we've just copied the language reference. Oh, and I think it'd be better left without examples. I've assumed: 'object', 'parameter', 'operation', 'assignment' & 'data' as being terms whose general meanings don't differ sufficiently across most computer languages to require a definition here.
Over and out! -- PhilLast 2009-06-11 17:45:40
APL Glossary
Term |
Description |
primitive |
native to the language and referenced as a single character |
defined |
created by lexical definition by direct assignment or in an editor |
derived |
created by juxtaposition as a combination of more than one previously existing operation |
argument |
object passed as parameter to an operation |
array |
data valued object of zero or more dimensions |
function |
primitive, defined or derived operation that takes zero, one or two array valued arguments and may return an array valued result |
operator |
primitive or defined operation that takes one or two function or array valued arguments (operands) and derives a function result |
operand |
more specific name for argument when applied to those of an operator |
niladic |
accepting no arguments |
monadic |
accepting or requiring one argument or operand |
monadic |
(of a function) having its only argument on the right |
monadic |
(of an operator) having its only operand on the left |
dyadic |
accepting or requiring two arguments or operands |
dyadic |
(of a function) having two arguments: left & right |
dyadic |
(of an operator) having two operands: left & right |
ambivalent |
capable of monadic or dyadic behaviour |
nomadic |
used by some APLs as a synonym for 'ambivalent' |
shape |
length of each dimension of an array |
rank |
(of an array) number of dimensions |
rank |
(of a function) rank of arguments to which it applies |
scalar |
pertaining to rank zero |
scalar |
(of an array) having zero dimensions |
scalar |
(of a function) applying to scalars |
vector |
pertaining to rank one |
vector |
(of an array) having one dimension |
vector |
(of a function) applying to vectors |
matrix |
pertaining to rank two |
matrix |
(of an array) having two dimensions |
matrix |
(of a function) applying to matrices |
simple |
(of a scalar) a single character or number |
simple |
(of an array) composed entirely of simple scalars |
nested |
(of an array) having zero or more items which are not scalars |
strand |
lexical juxtaposition of array valued names or expressions to form a larger, possibly nested, array |
depth |
(of an array) the number of levels of nesting where an element contains other than a simple scalar |