# Terminology

Jump to navigation
Jump to search

APL terminology can be confusing, especially as it often differs from common conventions in computer science, including distinguishing between terms that are usually considered synonyms.

## Basic terms

Term | Explanation | Other names used in Computer Science |
---|---|---|

Argument | an array that a function is applied to | Operand, Parameter |

Array | a collection of elements arranged along zero or more axes (note that a scalar is also an array) |
Tensor, Multi-dimensional array data structure, Multi-dimensional array data type but note that Scalar Variables are not generally regarded as arrays |

Cell | a subarray which is formed by selecting a single index along zero or more leading axes and the whole of each trailing axis | Array slice |

Function | a program that is applied to one or two array arguments to produce an array result | Subroutine, Program |

Major cell | a cell of an array which has rank one smaller than the rank of the array, or equal to it if the array is a scalar | Element |

Matrix | an array of rank 2 | 2D array, Table |

Nested array | an array that contains at least one element which is not a simple scalar | Data structure |

Operand | an array or function that is passed to an operator | Argument, Parameter |

Operator | a higher-order function that derives a function based on one or two operands | Higher-order function |

Primitive | a built-in function or operator represented by a glyph | Language primitive, Operator |

Rank | the number of dimensions or axes in the structure of an array (the rank is the length of the shape) | Degree, Dimensionality, Order |

Scalar | an array of rank 0 | Value |

Shape | a vector of the lengths of an array along each of its axes (the shape of a scalar is an empty vector) | Array dimensions |

Simple scalar | a number, character, or (in dialects that support such) Namespace | Primitive data type, Value |

Vector | an array of rank 1 | Array, List |

## See also

APL development [edit]
| |
---|---|

Interface | Session ∙ Typing glyphs (on Linux) ∙ Fonts ∙ Text editors |

Publications | Introductions ∙ Learning resources ∙ Simple examples ∙ Advanced examples ∙ Mnemonics ∙ Standards ∙ A Dictionary of APL ∙ Case studies ∙ Documentation suites ∙ Books ∙ Papers ∙ Videos ∙ Periodicals ∙ Terminology (Chinese, German) ∙ Neural networks ∙ Error trapping with Dyalog APL (in forms) |

Sharing code | Backwards compatibility ∙ APLcart ∙ APLTree ∙ APL-Cation ∙ Dfns workspace ∙ Tatin |

Implementation | Developers (APL2000, Dyalog, GNU APL community, IBM, IPSA, STSC) ∙ Resources ∙ Open-source ∙ Magic function ∙ Performance |