I-Beam

From APL Wiki
Revision as of 10:06, 14 September 2022 by Faun Locke (talk | contribs)
Jump to navigation Jump to search

I-Beam () is a primitive monadic operator that takes a numeric code as it's operand and derives an ambivalent function which provides a range of ad-hoc operations. This range covers non-primitive functions - for example: experimental features, interpreter-level control, access to the environment, and information about APL itself.

History

I-Beam was introduced in APL\360 by implementers to execute System/360 instructions from program control. The convenience of this lead to I-Beam becoming directly available for use by anyone.[1]

Mnemonics

In general, I-Beam's numeric operand isn't intended to be easily recalled. But some are given meaningful names.

One method is to devise a name from the Roman numeral letters I, V, X, L, C, D, and M[2]

I-Beam Numeral
Called Monadically CM (900)
Line Count LC (50100)

References

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