Beside: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
(→‎Examples: should be monadic)
Line 44: Line 44:
=== Documentation ===
=== Documentation ===


* [https://help.dyalog.com/18.0/#Language/Primitive%20Operators/Beside.htm Dyalog]
* [https://help.dyalog.com/latest/#Language/Primitive%20Operators/Beside.htm Dyalog]


{{APL built-ins}}[[Category:Primitive operators]][[Category:Composition operators]]
{{APL built-ins}}[[Category:Primitive operators]][[Category:Composition operators]]

Revision as of 11:18, 1 June 2022

Beside (), Compose or After is a primitive operator. It shares the glyph with Bind. Called dyadically with function operands f and g, it uses g monadically to pre-processes the right argument before applying f to the given left argument and pre-processed right argument. Called monadically with operands f and g, it applies f to the result of applying g to the argument.

In usage, X fg Y is equivalent to X f g Y, and fg Y is equivalent to f g Y. Thus, beside can be defined as the dop { ⍺⍺ ⍵⍵ }.

Examples

When used monadically, fg behaves the same as an atop:

      -÷ 2 
¯0.5
      ⍝ same as
      -(÷2)
¯0.5

When used dyadically, fg forms a dyadic hook:

      'oy''yo'
1
      ⍝ same as
      'oy'≡⌽'yo'
1

When used monadically with Commute, fg forms a monadic hook:

      'UwU'
1
      ⍝ same as this, because operators are left-associative, unlike functions which are right-associative
      ()'UwU'
1
      ⍝ same as
      'UwU'≡⌽'UwU'
1

External links

Lessons

Documentation


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