Compose: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
(Created page with "{{Built-in|Compose|∘}} or '''Composition''' is the most common name for the primitive dyadic operator denoted with a Jot (<source lang=apl inl...")
 
mNo edit summary
Line 3: Line 3:
In [[Ken Iverson]]'s designs [[Rationalized APL]], [[A Dictionary of APL]], and the [[J]] language, the composition (<source lang=apl inline>⍤</source>) or Compose (<source lang=j inline>&</source>) refers to a different kind of composition, the [[Over]] operator.
In [[Ken Iverson]]'s designs [[Rationalized APL]], [[A Dictionary of APL]], and the [[J]] language, the composition (<source lang=apl inline>⍤</source>) or Compose (<source lang=j inline>&</source>) refers to a different kind of composition, the [[Over]] operator.


More recently, the term "composition" is used in [[Dyalog APL]] to refer to any of a family of operators including [[Beside]] and [[Bind]] (<source lang=apl inline>∘</source>), [[Commute]] and [[Constant]] (<source lang=apl inline>⍨</source>), [[Atop]] (<source lang=apl inline>⍤</source>), and [[Over]] (<source lang=apl inline>⍥</source>).<ref>[[Marshall Lochbaum]]. [https://dyalog.tv/Dyalog19/?v=czWC4tjwzOQ Tacit Techniques with Dyalog version 18.0 Operators] ([https://www.dyalog.com/uploads/conference/dyalog19/presentations/D04_Tacit_Techniques.zip slides]) at [[Dyalog '19]].</ref> [[Dyalog APL Extended]] and [[dzaima/APL]] add to this list the operators [[Under]] (<source lang=apl inline>⍢</source>) and [[Reverse Compose]] (<source lang=apl inline>⍛</source>).
More recently, the term "composition" is used in [[Dyalog APL]] to refer to any of a family of operators including [[Beside]] and [[Bind]] (<source lang=apl inline>∘</source>), [[Commute]] and [[Constant]] (<source lang=apl inline>⍨</source>), [[Atop]] (<source lang=apl inline>⍤</source>), and [[Over]] (<source lang=apl inline>⍥</source>).<ref>[[Marshall Lochbaum]]. [https://dyalog.tv/Dyalog19/?v=czWC4tjwzOQ Tacit Techniques with Dyalog version 18.0 Operators] ([https://www.dyalog.com/uploads/conference/dyalog19/presentations/D04_Tacit_Techniques.zip slides]) at [[Dyalog '19]].</ref> [[Extended Dyalog APL]] and [[dzaima/APL]] add to this list the operators [[Under]] (<source lang=apl inline>⍢</source>) and [[Reverse Compose]] (<source lang=apl inline>⍛</source>).


== References ==
== References ==
<references />
<references />
{{APL built-ins}}
{{APL built-ins}}

Revision as of 09:49, 27 April 2020

Compose () or Composition is the most common name for the primitive dyadic operator denoted with a Jot () introduced by NARS and included in the Dyalog APL family. On the APL Wiki, Compose is divided into its two cases, Beside when both operands are functions, and Bind when one is a function and the other an array.

In Ken Iverson's designs Rationalized APL, A Dictionary of APL, and the J language, the composition () or Compose (&) refers to a different kind of composition, the Over operator.

More recently, the term "composition" is used in Dyalog APL to refer to any of a family of operators including Beside and Bind (), Commute and Constant (), Atop (), and Over ().[1] Extended Dyalog APL and dzaima/APL add to this list the operators Under () and Reverse Compose ().

References

APL built-ins [edit]
Primitives (Timeline) Functions
Scalar
Monadic ConjugateNegateSignumReciprocalMagnitudeExponentialNatural LogarithmFloorCeilingFactorialNotPi TimesRollTypeImaginarySquare RootRound
Dyadic AddSubtractTimesDivideResiduePowerLogarithmMinimumMaximumBinomialComparison functionsBoolean functions (And, Or, Nand, Nor) ∙ GCDLCMCircularComplexRoot
Non-Scalar
Structural ShapeReshapeTallyDepthRavelEnlistTableCatenateReverseRotateTransposeRazeMixSplitEncloseNestCut (K)PairLinkPartitioned EnclosePartition
Selection FirstPickTakeDropUniqueIdentityStopSelectReplicateExpandSet functions (IntersectionUnionWithout) ∙ Bracket indexingIndexCartesian ProductSort
Selector Index generatorGradeIndex OfInterval IndexIndicesDealPrefix and suffix vectors
Computational MatchNot MatchMembershipFindNub SieveEncodeDecodeMatrix InverseMatrix DivideFormatExecuteMaterialiseRange
Operators Monadic EachCommuteConstantReplicateExpandReduceWindowed ReduceScanOuter ProductKeyI-BeamSpawnFunction axisIdentity (Null, Ident)
Dyadic BindCompositions (Compose, Reverse Compose, Beside, Withe, Atop, Over) ∙ Inner ProductDeterminantPowerAtUnderRankDepthVariantStencilCutDirect definition (operator)Identity (Lev, Dex)
Quad names Index originComparison toleranceMigration levelAtomic vector