I-Beam

From APL Wiki
Revision as of 10:05, 14 September 2022 by Faun Locke (talk | contribs) (History section)
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 to 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]
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