I-Beam: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
mNo edit summary
(History section)
Line 1: Line 1:
{{Built-in|I-Beam|⌶}} is a [[primitive operator|primitive]] [[monadic operator]] that takes a numeric code as it's [[operand]] and [[derived function|derives]] an [[ambivalent]] function which provides a range of ad-hoc operations. This range covers non-[[primitive function]]s - for example: experimental features, interpreter-level control, access to the environment, and information about APL itself.
{{Built-in|I-Beam|⌶}} is a [[primitive operator|primitive]] [[monadic operator]] that takes a numeric code as it's [[operand]] and [[derived function|derives]] an [[ambivalent]] function which provides a range of ad-hoc operations. This range covers non-[[primitive function]]s - 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 [[wikipedia:IBM System/360|System/360]] instructions from program control. The convenience of this lead to I-Beam becoming directly available to use by anyone.<ref>[https://dl.acm.org/doi/pdf/10.1145/585923.585925 The Design of APL]</ref>


== Mnemonics ==
== Mnemonics ==

Revision as of 10:05, 14 September 2022

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