4329
Comment:
|
4524
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= Suggestion = 1. Could you perhaps include the term 'valence' when discussing function signatures? 2. The WIKIPEDIA reference mentions 'nomadic': have I missed something all these years? |
Suggestion
1. Could you perhaps include the term 'valence' when discussing function signatures?
2. The WIKIPEDIA reference mentions 'nomadic': have I missed something all these years?
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.
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 orthogonal dimensions in which each item is a number, a character or another array |
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 |
(of an array) length of each dimension |
type |
(of an array) array of identical structure in which all numbers are zero and all characters are blanks |
prototype |
(of an array) the type of its first item |
empty |
(of an array) having one or more dimensions of length zero |
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 one or more items or a prototype which is not a simple scalar |
depth |
(of an array) the number of levels of nesting where an item or prototype is other than a simple scalar |
strand |
lexical juxtaposition of array valued names or expressions to form a larger, possibly nested, array |
workspace |
area of computer memory containing arrays and defined &/or derived operations or a file containing a preserved binary image of such |