GNU APL: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
(Move Stallman to his own page)
(Remove duplicate information and WP:NOTED)
Line 20: Line 20:
| run online              = [http://juergen-sauermann.de/try-GNU-APL try-GNU-APL]
| run online              = [http://juergen-sauermann.de/try-GNU-APL try-GNU-APL]
}}
}}
'''GNU APL''' is a free and (almost) complete implementation of Extended APL as specified in [[ISO/IEC 13751:2001]] and is thus similar to [[APL2]]. It runs on GNU/Linux and on Windows using Cygwin, and uses Unicode internally. GNU APL was initially written and is being maintained by Jürgen Sauermann, implementing:
'''GNU APL''' is a free and (almost) complete implementation of Extended APL as specified in [[ISO/IEC 13751:2001]] and is thus similar to [[APL2]]. It was initially written and is being maintained by Jürgen Sauermann. It includes extensions such as [[complex number]]s and a shared variable interface.


* nested arrays and related functions
In addition to a normal local APL [[session]], GNU APL can be scripted, and has an experimental online version.
* complex numbers, and
* a shared variable interface
 
Besides for running in the classic interactive mode locally, there is an (experimental) online version of GNU APL. In addition, GNU APL can be scripted.


Documents on GNU APL sometimes quote [[Richard Stallman]], who both founded GNU and programmed in APL. However, Stallman is not directly associated with the project.
Documents on GNU APL sometimes quote [[Richard Stallman]], who both founded GNU and programmed in APL. However, Stallman is not directly associated with the project.
Line 32: Line 28:
== Encoding ==
== Encoding ==


It should be noted that GNU APL tends to prefer the [[Unicode]] ''Lozenge'' (U+25CA; <source lang=apl inline>◊</source>) and ''Element of'' (U+2208; <source lang=apl inline>∈</source>) over ''Diamond operator'' (U+22C4; <source lang=apl inline>⋄</source>) and ''Small Element of'' (U+220A; <source lang=apl inline>∊</source>) which are more commonly used by dialects. This can lead to [[SYNTAX ERROR]]s if attempting to use code written for GNU APL in other implementations. However, GNU APL also accepts the more common code points.
GNU APL tends to prefer the [[Unicode]] ''Lozenge'' (U+25CA; <source lang=apl inline>◊</source>) and ''Element of'' (U+2208; <source lang=apl inline>∈</source>) over ''Diamond operator'' (U+22C4; <source lang=apl inline>⋄</source>) and ''Small Element of'' (U+220A; <source lang=apl inline>∊</source>) which are more commonly used by other dialects. This can lead to [[SYNTAX ERROR]]s if attempting to use code written for GNU APL in other implementations. However, GNU APL also accepts the more common code points.
 
== External links ==
 
* [http://juergen-sauermann.de/try-GNU-APL Try GNU APL online]
* [https://www.gnu.org/software/apl/ Website]


{{APL dialects}}
{{APL dialects}}

Revision as of 16:52, 31 December 2019

GNU APL is a free and (almost) complete implementation of Extended APL as specified in ISO/IEC 13751:2001 and is thus similar to APL2. It was initially written and is being maintained by Jürgen Sauermann. It includes extensions such as complex numbers and a shared variable interface.

In addition to a normal local APL session, GNU APL can be scripted, and has an experimental online version.

Documents on GNU APL sometimes quote Richard Stallman, who both founded GNU and programmed in APL. However, Stallman is not directly associated with the project.

Encoding

GNU APL tends to prefer the Unicode Lozenge (U+25CA; ) and Element of (U+2208; ) over Diamond operator (U+22C4; ) and Small Element of (U+220A; ) which are more commonly used by other dialects. This can lead to SYNTAX ERRORs if attempting to use code written for GNU APL in other implementations. However, GNU APL also accepts the more common code points.


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