From APL Wiki
Revision as of 09:57, 14 September 2022 by Adám Brudzewsky (talk | contribs) (Note for those looking for "APL".)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

For technical reasons, "APL" redirects here. For an overview, see Overview.

APL# (pronounced APL Sharp) was presented by Dyalog Ltd. at the 2010 APL conference in Berlin. The goal was to make the benefits of safe/managed computing available to users of APL through the development of an APL dialect targeting Microsoft Silverlight/Moonlight and featuring tight integration with Microsoft .NET.

APL# was to be a new dialect of APL designed with object-oriented/language-agnostic platforms in mind, using Microsoft .NET as the initial target platform. Although portability of old APL code to APL# was an important consideration, the fact that complete upwards compatibility with "classic" APL was not achievable allowed an attempt to tidy up a few other aspects of APL. The goal was to produce a language which was as powerful a Tool of Thought as classic APL and APL2, at the same time as feeling significantly more acceptable to a software engineer.

However, taking full advantage of the shared type system and related services which forced the abandoning some of the most central dogma of "classic" APL interpreters:

  • The notion that APL only has two data types: numbers and characters
  • That arguments are always passed "by value"
  • User-defined names are global by default, and local variables are visible to all sub-functions

APL# featured a single functional form (besides for trains) which was a hybrid between dfn and tradfn syntax, superficially resembling that of dfns, but allowing a header (calling signature) and control structures.

In 2012 Microsoft deprecated Silverlight for HTML5 in Windows 8, and Dyalog subsequently abandoned the APL# project.

External links

2010 APL conference

2011 Dyalog user meeting

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/aplopenAPLOperators and FunctionsPATRowanSAXSHARP APLRationalized APLVisualAPL (APLNext) ∙ VS APLYork APL
Derivatives AHPLBQNCoSyELIGleeIIvyJJellyJellyfishK (Q, KDB+) ∙ Lang5NialRAD
Overviews Timeline of array languagesTimeline of influential array languagesFamily tree of array languages