Close composition

From APL Wiki
Revision as of 22:18, 10 September 2022 by Adám Brudzewsky (talk | contribs) (Text replacement - "<source" to "<syntaxhighlight")
Jump to navigation Jump to search

In SHARP APL and J, a close composition is one of the operators Atop, Over, or Under, defined so that the overall result has function rank equal to the right operand. In SHARP all composition operators follow this pattern, while in J, both close and non-close forms (with a result rank of infinity, matching the definition in most modern APLs) are provided.

Operator SHARP J close J non-close Modern
Atop <syntaxhighlight lang=apl inline>⍥</source> <syntaxhighlight lang=j inline>@</source> <syntaxhighlight lang=j inline>@:</source> <syntaxhighlight lang=apl inline>⍤</source>
Over <syntaxhighlight lang=apl inline>⍤</source> <syntaxhighlight lang=j inline>&</source> <syntaxhighlight lang=j inline>&:</source> <syntaxhighlight lang=apl inline>⍥</source>
Under <syntaxhighlight lang=apl inline>¨</source> <syntaxhighlight lang=j inline>&.</source> <syntaxhighlight lang=j inline>&.:</source> <syntaxhighlight lang=apl inline>⍢</source>


APL features [edit]
Built-ins Primitives (functions, operators) ∙ Quad name
Array model ShapeRankDepthBoundIndex (Indexing) ∙ AxisRavelRavel orderElementScalarVectorMatrixSimple scalarSimple arrayNested arrayCellMajor cellSubarrayEmpty arrayPrototype
Data types Number (Boolean, Complex number) ∙ Character (String) ∙ BoxNamespaceFunction array
Concepts and paradigms Conformability (Scalar extension, Leading axis agreement) ∙ Scalar function (Pervasion) ∙ Identity elementComplex floorArray ordering (Total) ∙ Tacit programming (Function composition, Close composition) ∙ GlyphLeading axis theoryMajor cell search
Errors LIMIT ERRORRANK ERRORSYNTAX ERRORDOMAIN ERRORLENGTH ERRORINDEX ERRORVALUE ERROREVOLUTION ERROR