Difference between revisions of "Pair"

From APL Wiki
Jump to navigation Jump to search
(Reference for catenate over enclose in 1981)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{Built-in|Pair|⍮}} or '''Juxtapose''' is a [[primitive function]] equivalent to the [[dfn]] <source lang=apl inline>{⍺←,⊂ ⋄ ⍺ ⍵}</source> which aids in constructing nested arrays during [[tacit programming]] where [[stranding]] by juxtaposition is not available. It is also equivalent to the [[catenate|catenation]] of the [[enclose]]d arguments; <source lang=apl inline>,⍥⊂</source> using the [[Over operator]] or <source lang=apl inline>,⍨∘⊂⍨∘⊂</source> using only the traditional operators [[Commute]] and [[Compose]]. It was introduced in [[Extended Dyalog APL]], and then adopted into [[dzaima/APL]].
+
{{Built-in|Pair|⍮}} or '''Juxtapose''' is a [[primitive function]] equivalent to the [[dfn]] <source lang=apl inline>{⍺←,⊂ ⋄ ⍺ ⍵}</source> which aids in constructing nested arrays during [[tacit programming]] where [[stranding]] by juxtaposition is not available. It is also equivalent to the [[catenate|catenation]] of the [[enclose]]d arguments; <source lang=apl inline>,⍥⊂</source> using the [[Over]] [[operator]]<ref>[https://www.jsoftware.com/papers/satn41.htm "Composition and Enclosure"] §
 +
Composition Operators. SATN-41, 1981-06-20.</ref> or <source lang=apl inline>,⍨∘⊂⍨∘⊂</source> using only the traditional operators [[Commute]] and [[Compose]]. It was introduced in [[Extended Dyalog APL]], and then adopted into [[dzaima/APL]].
  
 
== Common usage ==
 
== Common usage ==
Line 22: Line 23:
 
</source>
 
</source>
 
{{Works in|[[dzaima/APL]], [[Extended Dyalog APL]]}}
 
{{Works in|[[dzaima/APL]], [[Extended Dyalog APL]]}}
=== See also ===
+
 
 +
== See also ==
 
* [[Link]]
 
* [[Link]]
 +
 +
== References ==
 +
<references />
 
{{APL built-ins}}[[Category:Primitive functions]]
 
{{APL built-ins}}[[Category:Primitive functions]]

Latest revision as of 11:51, 24 May 2022

Pair () or Juxtapose is a primitive function equivalent to the dfn {,⊂ } which aids in constructing nested arrays during tacit programming where stranding by juxtaposition is not available. It is also equivalent to the catenation of the enclosed arguments; , using the Over operator[1] or ,⍨∘⍨∘ using only the traditional operators Commute and Compose. It was introduced in Extended Dyalog APL, and then adopted into dzaima/APL.

Common usage

Its plain usage is in pairing up two parallel values:

Try it online!

      6 7 8(+-)3
┌───────┬─────┐
9 10 113 4 5
└───────┴─────┘

It can also be combined with Mix to increase rank rather than depth:

Try it online!

      6 7 8(+↑-)3
9 10 11
3  4  5

See also

References

  1. "Composition and Enclosure" § Composition Operators. SATN-41, 1981-06-20.
APL built-ins [edit]
Primitive functions
Scalar
Monadic ConjugateNegateSignumReciprocalMagnitudeExponentialNatural LogarithmFloorCeilingFactorialNotPi TimesRollTypeImaginarySquare Root
Dyadic AddSubtractTimesDivideResiduePowerLogarithmMinimumMaximumBinomialComparison functionsBoolean functions (And, Or, Nand, Nor) ∙ GCDLCMCircularComplexRoot
Non-Scalar
Structural ShapeReshapeTallyDepthRavelEnlistTableCatenateReverseRotateTransposeRazeMixSplitEncloseNestCut (K)PairLinkPartitioned EnclosePartition
Selection FirstPickTakeDropUniqueIdentitySelectReplicateExpandSet functions (IntersectionUnionWithout) ∙ Bracket indexingIndex
Selector Index generatorGradeIndex OfInterval IndexIndicesDeal
Computational MatchNot MatchMembershipFindNub SieveEncodeDecodeMatrix InverseMatrix DivideFormatExecuteMaterialiseRange
Primitive operators Monadic EachCommuteConstantReplicateExpandReduceWindowed ReduceScanOuter ProductKeyI-beamSpawnFunction axis
Dyadic BindCompositions (Compose, Reverse Compose, Beside, Withe, Atop, Over) ∙ Inner ProductPowerAtUnderRankDepthVariantStencilCut (J)
Quad names
Arrays Index originMigration levelAtomic vector
Functions Name classCase convertUnicode convert
Operators SearchReplace