APL2C

From APL Wiki
Revision as of 03:28, 10 March 2024 by Marshall (talk | contribs) (Created page with "{{Infobox array language | logo = File:APL2C.gif | array model = nested | index origin = 0 or 1 | function styles = defined | numeric types = floats | unicode support = no | released = 2001 | developer = Tilman Otto | latest release version = 5.0.3 / 2002 | implementation languages = wikipedia:C_(programming_language...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

APL2C is a nested APL implementation consisting of a complete interpreter, and a compatible compiler with some restrictions. It supports much of the functionality specified by the Extended APL standard ISO/IEC 13751:2001, including some features such as the Commute and Rank operators that were not widely supported at the time of its initial release.[1] Development of APL2C began in 1991, and it was used in commercial applications before its public release. The compiler and its use in medical image analysis were presented at the 2000 APL conference.[2][3] The implementation was later offered as a trial version, with a tutorial on using it presented at the 2001 APL conference.

APL2C's compiler generates C code that calls functions for primitives and other operations such as loading variables, removing interpreter dispatch overhead. Compiling allows a program to be distributed as an executable file, and allows the APL code to inter-operate with C. It restricts some dynamic functionality: compiled programs can't dynamically create APL functions with ⎕FX, and can't pass arrays (rather than functions) as operands to user-defined operators.

References

  1. F.H.D. van Batenburg. Conformity of APL Implementations to the ISO APL Standard. Vector journal Volume 21, No.3. 2005-05.
  2. Tilman P. Otto. APL Based medical image analysis at APL00.
  3. Tilman P. Otto. An APL Compiler at APL00.
APL dialects [edit]
Maintained APL+WinAPL2APL64APL\ivApletteAprilCo-dfnsDyalog APLDyalog APL Visiondzaima/APLGNU APLKapNARS2000PometoTinyAPL
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