Over: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
No edit summary
(direct link)
Line 2: Line 2:


== Explanation ==
== Explanation ==
When the resulting function is used [[monadic]]ally, it has the same behaviour as if the [[Beside]] or [[Atop operator]] had been used:
When the resulting function is used [[monadic]]ally, it has the same behaviour as if the [[Beside]] or [[Atop (operator)|Atop]] operator had been used:
{|
{|
|<source lang=apl>  (g ⍥ h) ⍵</source>|| {{←→}} ||<source lang=apl>g (h ⍵)</source>
|<source lang=apl>  (g ⍥ h) ⍵</source>|| {{←→}} ||<source lang=apl>g (h ⍵)</source>

Revision as of 08:41, 22 November 2021

Over () is a primitive dyadic operator which takes two function operands and produces a derived function which pre-processes the argument(s) using the monadic right operand, before applying the left operand on/between the result(s).

Explanation

When the resulting function is used monadically, it has the same behaviour as if the Beside or Atop operator had been used:

  (g ⍥ h) ⍵
g (h ⍵)

When the resulting function is used dyadically, both arguments are pre-processed:

⍺ (g ⍥ h) ⍵
(h ⍺) g (h ⍵)

Examples

      x←3 1 2
      y←4 6 5
      x +⍥(⌈/) y ⍝ add the max of x and max of y
9
      ⍝ same as
      (⌈/x)+⌈/y
9

External links

Lessons

Documentation

APL built-ins [edit]
Primitives (Timeline) Functions
Scalar
Monadic ConjugateNegateSignumReciprocalMagnitudeExponentialNatural LogarithmFloorCeilingFactorialNotPi TimesRollTypeImaginarySquare Root
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 axis
Dyadic BindCompositions (Compose, Reverse Compose, Beside, Withe, Atop, Over) ∙ Inner ProductDeterminantPowerAtUnderRankDepthVariantStencilCutDirect definition (operator)
Quad names Index originComparison toleranceMigration levelAtomic vector