APL#

From APL Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


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 APLDyalog APL Visiondzaima/APLGNU APLKapNARS2000Pometo
Historical A Programming LanguageA+ (A) ∙ APL#APL2CAPL\360APL/700APL\1130APL\3000APL.68000APL*PLUSAPL.jlAPL.SVAPLXExtended Dyalog APLIverson notationIVSYS/7090NARSngn/aplopenAPLOperators and FunctionsPATRowanSAXSHARP APLRationalized APLVisualAPL (APLNext) ∙ VS APLYork APL
Derivatives AHPLBQNCoSyELIGleeIIvyJJellyK (Goal, Klong, Q) ∙ KamilaLispLang5LilNialRADUiua
Overviews Comparison of APL dialectsTimeline of array languagesTimeline of influential array languagesFamily tree of array languages