Language overview

From APL Wiki
Revision as of 09:59, 24 March 2020 by Adám Brudzewsky (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


This page gives a structured overview of the APL programming language.

Development

APL development [edit]
Interface SessionTyping glyphsFontsText editors
Publications IntroductionsLearning resourcesSimple examplesAdvanced examplesMnemonicsStandardsA Dictionary of APLCase studiesDocumentation suitesBooksPapersVideosPeriodicals
Current developers APLNowDyalogGNU APL communityIBMSudley Place
Historical developers BurroughsCDCDECData GeneralHPHarrisIPSAMicroAPLSTSCSiemensXerox

Features

APL features [edit]
Built-ins Primitive functionPrimitive operatorQuad name
Array model ShapeRankDepthBoundIndexAxisRavelRavel orderElementScalarVectorMatrixSimple scalarSimple arrayNested arrayBoxCellMajor cellSubarrayEmpty arrayPrototype
Concepts and paradigms Leading axis theoryScalar extensionConformabilityScalar functionPervasionGlyphIdentity elementTotal array ordering
Errors LIMIT ERRORRANK ERRORSYNTAX ERROR

Syntax

APL syntax [edit]
General Comparison with traditional mathematicsPrecedenceTacit programming
Array Numeric literalStringStrand notationObject literalArray notation
Function ArgumentFunction valenceDerived functionDerived operatorNiladic functionMonadic functionDyadic functionAmbivalent functionTradfnDfnFunction train
Operator OperandOperator valenceTradopDopDerived operator
Assignment MultipleIndexedSelectiveModified
Other Function axisBranchingSystem commandUser commandKeywordDot notation

Dialects

APL dialects [edit]
Maintained APL+Win (APL*PLUS) ∙ APL2APL64APL\ivAprilCo-dfnsDyalog APLdzaima/APLGNU APLNARS2000ngn/apl
Historical Iverson notationA Programming LanguageA+ (A) ∙ APL#APL.68000APL.SVAPLXAPL\1130APL\360NARSopenAPLRowanSAXSHARP APLVisualAPL (APLNext) ∙ VSAPLYork APL
Derivatives AHPLAPL\ivELIIIvyJJellyK (Q, KDB+) ∙ LYaPASNialRAD

Community

APL community [edit]
Sharing code APLcartAPLTree
User groups APL Borealis (Canada) ∙ APL et J (France) ∙ APL-GermanyBAA (UK) ∙ FinnAPL (Finland) ∙ JAPLA (Japan) ∙ SAUG (Switzerland) ∙ SIGAPL (USA) ∙ SwedAPL (Sweden)
People Phil AbramsBob BerneckyLarry BreedCharles BrennerJim BrownGitte ChristensenPhilip Van CleavePeter DonnellyDan DyerAdin FalkoffGarth FosterRoger HuiKen IversonMorten KrombergMarshall LochbaumEugene McDonnellJohn McPhersonJon McGrewDonald McIntyreRoger MooreAlex MorrowAlan PerlisAl RoseWilliam RutiserJohn ScholesIan SharpLynne ShawBob SmithRoy SykesRaymond TisserandArthur WhitneyClark Wiedmann
Other APL OrchardAPL WikiDyalog user meetingsDyalog webinarsIverson AwardConferencesBlogsForumsCode golfAPL Quote Quad

Built-ins

APL built-ins [edit]
Primitive functions
Scalar
Monadic ConjugateNegateSignumNotRollType
Dyadic AddSubtractEqual to (Xnor) ∙ Not Equal to (Xor) ∙ MinimumMaximumComparison functions
Non-Scalar
Structural ShapeReshapeTallyDepthRavelReverseRazeMixCut (K)PairReplicatePartitioned Enclose
Selection TakeDropUniqueIdentitySelect
Selector Index generatorInterval IndexIndices
Computational MatchNot MatchNub SieveFormatExecute
Primitive operators Monadic EachReplicate
Dyadic Reverse Compose
Quad names
Arrays Index originMigration level
Functions
Operators
Other ZildeHigh minusFunction axis