Differences between revisions 21 and 22
Revision 21 as of 2015-01-17 23:51:53
Size: 5077
Editor: anonymous
Comment:
Revision 22 as of 2015-02-23 18:04:54
Size: 6443
Editor: anonymous
Comment: additions (train, scalar extension, frame and cell ...) and a few clarifications.
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
||''ambivalent''||(or nomadic<<FootNote(''nomadic:'' see [[http://www.microapl.co.uk/APL/apl_concepts_chapter6.html|APLX concepts]])>>)(of a ''dyadic'' ''function'') permitting its left ''argument'' to be elided.|| ||''adverb''||''monadic operator'', taking its single ''operand'' on the left.||
||''amb
ivalent''||(of a ''dyadic'' ''function'') permitting its left ''argument'' to be elided; nomadic<<FootNote(''nomadic:'' see [[http://www.microapl.co.uk/APL/apl_concepts_chapter6.html|APLX concepts]])>>; either ''monadic'' or ''dyadic''.||
Line 7: Line 8:
||''array'' ||(or variable) data valued object of zero or more orthogonal dimensions in row-major order in which each ''item'' is a primitive ''scalar'' or another ''array''.|| ||''array'' ||data valued object of zero or more orthogonal dimensions in row-major order in which each ''item'' is a primitive ''scalar'' or another (''enclosed'') ''array''; variable; noun.||
Line 9: Line 10:
||''define'' ||create by lexical assignment<<FootNote(''define by lexical assignment:'' {{{assigned←{expression in terms of ⍺ and/or ⍵} }}})>> or association<<FootNote(''define by lexical association:'' {{{⎕FX 'r←a associated w' 'r←expression in terms of a and/or w'}}})>> or in an editor<<FootNote(''define in an editor:'' {{{∇edited}}} or {{{)EDIT edited}}})>>.|| ||''conjunction''||''dyadic operator'', taking its two ''operands'' on the left and right.||
||''define'' ||create an operation
by lexical assignment<<FootNote(''define by lexical assignment:'' {{{assigned←{expression in terms of ⍺ and/or ⍵} }}})>> or association<<FootNote(''define by lexical association:'' {{{⎕FX 'r←a associated w' 'r←expression in terms of a and/or w'}}})>> or in an editor<<FootNote(''define in an editor:'' {{{∇edited}}} or {{{)EDIT edited}}})>>.||
Line 11: Line 13:
||''derive'' ||create by juxtaposition as a combination of one or two existing ''arrays'' or ''functions'' with an ''operator''<<FootNote(''derive:'' {{{derived←∘.,/∘(⍳¨)}}})>>.||
||''dyadic'' ||accepting or requiring two ''arguments'' or ''operands'': left and right; having ''valence'' of two.||
||''derive'' ||create a function by juxtaposition as a combination of existing ''arrays'' or ''functions'' with an ''operator'' or as a ''train''.<<FootNote(''derive:'' {{{derived←∘.,/∘(⍳¨)}}})>>.||
||''dyadic'' ||accepting or requiring two ''arguments'' or ''operands'': left and right; having ''valence'' of two; binary.||
Line 14: Line 16:
||''empty'' ||(or null)(of an ''array'') having one or more dimensions of length zero.||
||''enclose'' ||(of an ''array'') convert into a ''scalar'' preserving all the original structure. An ''enclosed array'' can occupy a single position in another ''array''.||
||''function'' ||primitive, ''defined'', ''derived'' or system operation or mapping that takes zero, one (right) or two (left & right) ''array'' valued ''arguments'' and may return an ''array'' valued result.||
||''empty'' ||(of an ''array'') having one or more dimensions of length zero; null.||
||''enclose'' ||(of an ''array'') convert into a ''scalar'' preserving all the original structure within. An ''enclosed array'' can occupy a single position in another ''array''.||
||''frame''||(of an ''array'') prefix of the dimensions of the array being the ''shape'' of the collection of ''cells'' of a given ''rank''. The frame of the 1-cells of a 3D array is its first two dimensions; the numbers of planes and rows.<<FootNote(''frame:'' see [[http://www.jsoftware.com/primer/frame_and_cell.htm|J: Frame and Cell]])>>||
||''function'' ||primitive, ''defined'', ''derived'' or system operation or mapping that takes zero, one (right) or two (left & right) ''array'' valued ''arguments'' and may return an ''array'' valued result; verb.||
Line 19: Line 22:
||''monadic'' ||accepting or requiring one ''argument'' or ''operand''; on the right for a ''function''; on the left for an ''operator''; having ''valence'' of one.||
||''nested'' ||(of an ''array'') having one or more ''items'' or a ''prototype'' which is not a primitive ''scalar''.||
||''niladic'' ||accepting no ''arguments''; having ''valence'' of zero.||
||''monadic'' ||accepting or requiring one ''argument'' or ''operand''; on the right for a ''function''; on the left for an ''operator''; having ''valence'' of one; unary||
||''nested'' ||(of an ''array'') having one or more ''enclosed items'' or a ''prototype'' which is not a primitive ''scalar''.||
||''niladic'' ||accepting no ''arguments''; having ''valence'' of zero; nullary<<FootNote(''nullary:'' see [[http://en.wikipedia.org/wiki/Arity#Nullary|Wikipedia: Nullary]])>>.||
Line 27: Line 30:
||''reduction'' ||application of a ''function'' between the ''items'' of its right ''argument'' thus ''reducing'' the ''rank'' by one.||
||''scalar'' ||(of an ''array'') having zero dimensions.<<BR>>(of a ''function'') applying to ''scalars''.<<BR>>(- extension) replication of a ''scalar'' ''argument'' to the ''shape'' of the other.||
||''reduction'' ||application of a ''function'' between the ''items'' or ''cells'' of its right ''argument'' thus ''reducing'' the ''rank'' by removal of the dimension along which the items or cells are counted or the last dimension of the ''frame''.||
||''scalar'' ||(of an ''array'') having zero dimensions.<<BR>>(of a ''function'') applying equally to or between all ''scalars'' in its ''argument(s)''.||
||''scalar
extension''||replication of a ''scalar'' ''argument'' to the ''shape'' of the other. Performed implicitly by ''dyadic scalar functions'' and by the application of the primitive "each" ''operator'' to any dyadic function.||
Line 32: Line 36:
||''train'' ||lexical juxtaposition of ''functions'' to form a new function of one of two kinds depending on the parity of the number of functions.<<FootNote(''train'': {{{mean←+⌿ ÷ ≢}}} see [[http://help.dyalog.com/14.0/Content/Language/Introduction/Trains.htm#Function_Trains|Dyalog: Function Trains]])>>||

Glossary of APL terms

APL literature includes many terms whose meanings, though rigorous, differ slightly from elsewhere. Terms used but not defined here follow normal usage or are defined at FOLDOC1.

Term

Description

adverb

monadic operator, taking its single operand on the left.

ambivalent

(of a dyadic function) permitting its left argument to be elided; nomadic2; either monadic or dyadic.

argument

value or reference passed to a function or operator.

array

data valued object of zero or more orthogonal dimensions in row-major order in which each item is a primitive scalar or another (enclosed) array; variable; noun.

cell

(of an array) sub-array whose dimensions are a suffix of those of the whole. The 2-cells of a 3D array are the planes whose dimensions are the numbers of rows and columns of the 3D array.

conjunction

dyadic operator, taking its two operands on the left and right.

define

create an operation by lexical assignment3 or association4 or in an editor5.

depth

(of an array) the number of levels of nesting.

derive

create a function by juxtaposition as a combination of existing arrays or functions with an operator or as a train.6.

dyadic

accepting or requiring two arguments or operands: left and right; having valence of two; binary.

element

(of an array) sub-array being a simple scalar at whatever depth. The elements of a simple array are also its items.

empty

(of an array) having one or more dimensions of length zero; null.

enclose

(of an array) convert into a scalar preserving all the original structure within. An enclosed array can occupy a single position in another array.

frame

(of an array) prefix of the dimensions of the array being the shape of the collection of cells of a given rank. The frame of the 1-cells of a 3D array is its first two dimensions; the numbers of planes and rows.7

function

primitive, defined, derived or system operation or mapping that takes zero, one (right) or two (left & right) array valued arguments and may return an array valued result; verb.

item

(of an array) sub-array, which may be enclosed, occupying a single position in the outer structure of the array. The items of a simple array are also its elements.

matrix

(of an array) having two dimensions.
(of a function) applying to matrices.

monadic

accepting or requiring one argument or operand; on the right for a function; on the left for an operator; having valence of one; unary

nested

(of an array) having one or more enclosed items or a prototype which is not a primitive scalar.

niladic

accepting no arguments; having valence of zero; nullary8.

operand

argument to an operator.

operator

primitive or defined operation or mapping that takes one (left) or two (left & right) function or array valued arguments (operands) and derives a function.

pervasive

(of a function) applying equally to scalars at any depth.

prototype

(of an array) the type of its first item.

rank

(of an array) number of dimensions.
(of a function) ranks of arguments to which it applies.

reduction

application of a function between the items or cells of its right argument thus reducing the rank by removal of the dimension along which the items or cells are counted or the last dimension of the frame.

scalar

(of an array) having zero dimensions.
(of a function) applying equally to or between all scalars in its argument(s).

scalar extension

replication of a scalar argument to the shape of the other. Performed implicitly by dyadic scalar functions and by the application of the primitive "each" operator to any dyadic function.

shape

(of an array) length of each dimension.

simple

(of a scalar) a single primitive datum.
(of an array) composed entirely of primitive scalars.

strand

lexical juxtaposition of array valued names or expressions to form a larger, possibly nested, array9.

train

lexical juxtaposition of functions to form a new function of one of two kinds depending on the parity of the number of functions.10

type

(of an array) array of identical structure in which all numbers are zero and all characters are blanks.

valence

degree or number of arguments or operands of an operation.

vector

(of an array) having one dimension.
(of a function) applying to vectors.

workspace

area of computer memory containing arrays and defined &/or derived operations or a file containing a preserved binary image of such.


-- PhilLast 2009-10-05 14:55:22


CategoryAboutApl

  1. FOLDOC: see The Free On-Line Dictionary Of Computing, Editor Denis Howe (1)

  2. nomadic: see APLX concepts (2)

  3. define by lexical assignment: assigned←{expression in terms of ⍺ and/or ⍵}  (3)

  4. define by lexical association: ⎕FX 'r←a associated w' 'r←expression in terms of a and/or w' (4)

  5. define in an editor: ∇edited or )EDIT edited (5)

  6. derive: derived←∘.,/∘(⍳¨) (6)

  7. frame: see J: Frame and Cell (7)

  8. nullary: see Wikipedia: Nullary (8)

  9. strand: stranded←0(1 2)('three' 'four')'five' (9)

  10. train: mean←+⌿ ÷ ≢ see Dyalog: Function Trains (10)

GlossaryOfAplTerms (last edited 2015-02-24 10:48:36 by anonymous)