Language overview

From APL Wiki
Revision as of 15:21, 20 November 2019 by RichPark (talk | contribs) (3 revisions imported: Migrate from miraheze)
Jump to navigation Jump to search


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

Development

APL development [edit]
Interface SessionTyping glyphs (on Linux) ∙ FontsText editors
Publications IntroductionsLearning resourcesSimple examplesAdvanced examplesMnemonicsStandardsA Dictionary of APLCase studiesDocumentation suitesBooksPapersVideosPeriodicalsTerminology (German) ∙ Neural networksError trapping with Dyalog APL (in forms)
Sharing code Backwards compatibilityAPLcartAPLTreeAPL-CationDfns workspaceTatin
Vendors APL2000DyalogGNU APL community ∙ IBMIPSASTSC

Features

APL features [edit]
Built-ins Primitives (functions, operators) ∙ Quad name
Array model ShapeRankDepthBoundIndex (Indexing) ∙ AxisRavelRavel orderElementScalarVectorMatrixSimple scalarSimple arrayNested arrayCellMajor cellSubarrayEmpty arrayPrototype
Data types Number (Boolean, Complex number) ∙ Character (String) ∙ BoxNamespace
Concepts and paradigms Leading axis theoryScalar extensionConformabilityLeading axis agreementScalar functionPervasionGlyphIdentity elementComplex floorTotal array ordering
Errors LIMIT ERRORRANK ERRORSYNTAX ERRORDOMAIN ERRORLENGTH ERRORINDEX ERRORVALUE ERROR

Syntax

APL syntax [edit]
General Comparison with traditional mathematicsPrecedenceTacit programming (Hook)
Array Numeric literalStringStrand notationObject literalArray notation
Function ArgumentFunction valenceDerived functionDerived operatorNiladic functionMonadic functionDyadic functionAmbivalent functionDefined function (traditional)DfnFunction train
Operator OperandOperator valenceTradopDopDerived operator
Assignment MultipleIndexedSelectiveModified
Other Function axisBranchQuad nameSystem commandUser commandKeywordDot notationFunction-operator overloadingControl structure

Dialects

APL dialects [edit]
Maintained APL+WinAPL2APL64APL\ivApletteAprilCo-dfnsDyalog APLdzaima/APLExtended Dyalog APLGNU APLKAPNARS2000Pometo
Historical A Programming LanguageA+ (A) ∙ APL#APL\360APL/700APL\1130APL\3000APL.68000APL*PLUSAPL.jlAPL.SVAPLXIverson notationIVSYS/7090NARSngn/aplopenAPLPATRowanSAXSHARP APLRationalized APLVisualAPL (APLNext) ∙ VS APLYork APL
Derivatives AHPLBQNCoSyELIGleeIIvyJJellyJellyfishK (Q, KDB+) ∙ NialRAD
Overviews Timeline of array languagesTimeline of influential array languagesFamily tree of array languages

Community

APL community [edit]
Activities ConferencesAdvent of CodeAPL CampfireAPL CultivationAPL Meetup (Portuguese) ∙ APL Problem Solving CompetitionAPL SeedsArray CastBAA sessionsCode golfDyalog user meetingsDyalog webinarsIverson AwardSharing code
User groups APL Borealis (Canada) ∙ APL et J (France) ∙ APL Germany (terminology) ∙ BAA (UK) ∙ FinnAPL (Finland) ∙ JAPLA (Japan) ∙ SAUG (Switzerland) ∙ SIGAPL (USA) ∙ SwedAPL (Sweden)
People Phil AbramsBrian BeckerBob BerneckyLarry BreedCharles BrennerJim BrownAdám BrudzewskyGitte ChristensenPeter DonnellyAdin FalkoffGarth FosterAaron HsuRoger HuiKen IversonMorten KrombergMarshall LochbaumEugene McDonnellJon McGrewDonald McIntyreRoger MooreAlan PerlisHenry RichAl RoseWilliam RutiserJohn ScholesIan SharpBob SmithGeoff StreeterRoy SykesArthur Whitney
Other APL OrchardAPL Quote QuadAPL WikiBlogsBooksFamous APL usersForumsHumourJobsPapersSubredditsTryAPLTry It Online