# Terminology

Revision as of 12:54, 7 July 2021 by Adám Brudzewsky (talk | contribs) (Removed redirect to German terminology)

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

## Basic terms

Term | Explanation | Common names in Computer Science |
---|---|---|

Argument | an array that a function is applied to | Argument, 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 some number of 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 | 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 creates derived functions based on one or two operands | Higher-order function |

Primitive | a built-in function or operator which is a core part and is represented by a glyph | Language primitive, Operator |

Rank | the number of dimensions or axes in the structure of an array | Order, Degree |

Scalar | an array of rank 0 | Value |

Shape | a vector of lengths of an array along each of its axes | 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 |

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 ∙ Cider |

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