Jump to content

APL: Difference between revisions

From EDM2
Ak120 (talk | contribs)
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Image:I_like_APL.gif|200px|right]]
[[Image:I_like_APL.gif|200px|right]]
A symbolic notation language invented by Kenneth E. Iverson at [[IBM]] and first placed on the market in 1964, originally simply "A Programming Language" but some use the APL name as a class distinction and in that case it means "Array Processing Language". Because of the requirements for an extended character set for the language, APL was traditionally delivered in a hardware/software combination rather that as just a software development package, you can in fact still get keyboards specifically made for APL.
==History==
A symbolic notation language invented by Kenneth E. Iverson at [[IBM]] and first placed on the market in 1964, originally simply "A Programming Language" but some use the APL name as a class distinction and in that case it means "Array Processing Language". Because of the requirements for an extended character set for the language, APL was traditionally delivered as a hardware/software combination rather than as just a software development package, you can in fact still get keyboards specifically made for APL.


Most IBM implementation of the language are '''APL2''', an IBM developed superset that was primarily designed by Dr Jim Brown, improvements mostly relate to nested arrays. Original inventor Iverson left IBM and vent on implement a language called simply '''J''' that implemented what he saw as the future of APL by adding functional extensions taken from the [[FP]] language and later variant [[FL]], other language based on APL include A, A+, K and Nial.
Most IBM implementation of the language are '''APL2''', an IBM developed superset that was primarily designed by Dr Jim Brown, improvements mostly relate to nested arrays. Original inventor Iverson left IBM and vent to create a language called simply '''[[J]]''' that implemented what he saw as the future of APL by adding functional extensions taken from the '''FP''' language and later variant '''FL'''. Other languages based on APL include A, A+, K and Nial.


==A list of OS/2 implementations of APL==
In the 70s, [[IBM]] and Western Illinois University had an experimental CAI (Computer Aided Instruction) system that was basically an APL system with the [[PILOT]]-73 language bolted on that was simply called "The PILOT/APL CAI system".
* [[APL2]] - Commercial - Discontinued
* [[The APL c compiler project]] - APL to C translator - Open source - Current


====OS/2 Libraries and class libraries====
==OS/2 implementations==
*  
* [[APL2]] - Commercial
====GUI and application generators with APL output====
* [[The APL c compiler project]] - APL to C translator - Open source
*
* [[J]] - Iverson Software Inc. (1992)


====Translators that generate APL output====
==DOS implementations==
*
 
====Workframes and or IDE's====
*
====Editors with APL support====
 
==A list of DOS implementations of APL==
* microAPL (1982) - University of Waterloo
* APL*Plus/PC (1982) - STSC Inc.
* APL*Plus/PC (1982) - STSC Inc.
**Pocket APL
**[http://www.math.uwaterloo.ca/apl_archives/apl/apl-plus/index.html APLSE]
* CAPLIB - APL interpreter
* I-APL/PC - interpreter
* IBM [[APL2]] - Commercial
* IBM PC APL Version 1.0 (1983)
* IBM PC APL Version 1.0 (1983)
* microAPL (1982) - University of Waterloo / [[WATCOM APL]]
* Portable Software PortaAPL
* Rationalized APL\PC - New Generation APL Research Group (NGARG)
* Sharp APL/PC


====DOS Libraries and class libraries====
==ECMAScript-based implementations==
*
* [https://github.com/ngn/apl NGN APL] - Not complete yet, but works - Open source
 
==A list of APL implementations that run under WinOS/2==
*


==A list of APL implementations that run under Java==
*
==A list of APL implementations in JavaScript==
*
==Publications==
==Publications==
* [[Zdeněk V. Jizba]]: The time is ripe for a dyadic execute "ACM SIGAPL APL" Volume 19 Issue 2, Dec. 1988, Page 5
* William Prager: ''An Introduction to APL'' - Allyn and Bacon 1971, ISBN 2-04-015638-0
* [[Zdeněk V. Jizba]]: Introducing APL to Teachers, "Vector - The journal of the British APL Association"  vol 8, issue 3, page 19
* Leonard Gilman; Allen J. Rose: ''APL: An Interactive Approach'' 3rd edition - Wiley 1984, ISBN 0-471-09304-1
* [[Zdeněk V. Jizba]]: Science Education in California, "Vector - The journal of the British APL Association" vol 8, issue 2, page 22
* [[Zdeněk V. Jizba]]: Object Oriented Programming and APL, "Vector - The journal of the British APL Association" vol 7, issue 3, page 108
* [[Zdeněk V. Jizba]]: Problems for APL Buffs (III), "Vector - The journal of the British APL Association" vol 7, issue 3, page 140
* [[Zdeněk V. Jizba]]: Problems for APL Buffs (II), "Vector - The journal of the British APL Association" vol 6, issue 4, page 117
* [[Zdeněk V. Jizba]]: Problems for APL Buffs (I), "Vector - The journal of the British APL Association" vol 6, issue 3, page 109
* [[Zdeněk V. Jizba]]: Generic Local Objects, "Vector - The journal of the British APL Association" vol 5, issue 3, page 103
 
====Local articles====
*
 
====Tutorials and other learning material====
* [[Zdeněk V. Jizba]]: [http://hobbes.nmsu.edu/h-viewer.php?dir=/pub/os2/dev/misc&file=teach.zip TEACH0 APL/2 for OS/2 Tutorial], also available in a web format [http://www.sigapl.org/Archives/waterloo_archive/apl/workspaces/tutorials/jizba/index.html here with some additional material].


==Links==
==Links==
* [https://aplwiki.com/ APL Wiki]
* [http://www.rexswain.com/aplinfo.html Rex Swain's APL Information]
* [http://www.rexswain.com/aplinfo.html Rex Swain's APL Information]
* [http://www.sigapl.org/ APL SIG]
* [http://www.sigapl.org/ APL SIG]
* [http://www-03.ibm.com/software/products/en/apl2 IBM's APL2 page] - No longer any OS/2 info on there, but some useful tidbits can be found if you rummage around
* [https://sites.google.com/site/baavector/ British APL Association]
====USENET====
* [news:comp.lang.apl comp.lang.apl] - Still alive (mostly) - Go to the [https://groups.google.com/forum/#!forum/comp.lang.apl Google groups version] if your ISP does not support USENET access or you are newsgroup challenged in any way.
==Standards==
*


==APL history==
;USENET
* [news:comp.lang.apl comp.lang.apl] - Still alive (mostly)


[[Category:Programming Languages]] [[Category:APL]]
[[Category:Programming Languages]] [[Category:APL]]

Latest revision as of 19:48, 6 January 2023

History

A symbolic notation language invented by Kenneth E. Iverson at IBM and first placed on the market in 1964, originally simply "A Programming Language" but some use the APL name as a class distinction and in that case it means "Array Processing Language". Because of the requirements for an extended character set for the language, APL was traditionally delivered as a hardware/software combination rather than as just a software development package, you can in fact still get keyboards specifically made for APL.

Most IBM implementation of the language are APL2, an IBM developed superset that was primarily designed by Dr Jim Brown, improvements mostly relate to nested arrays. Original inventor Iverson left IBM and vent to create a language called simply J that implemented what he saw as the future of APL by adding functional extensions taken from the FP language and later variant FL. Other languages based on APL include A, A+, K and Nial.

In the 70s, IBM and Western Illinois University had an experimental CAI (Computer Aided Instruction) system that was basically an APL system with the PILOT-73 language bolted on that was simply called "The PILOT/APL CAI system".

OS/2 implementations

DOS implementations

  • APL*Plus/PC (1982) - STSC Inc.
  • CAPLIB - APL interpreter
  • I-APL/PC - interpreter
  • IBM APL2 - Commercial
  • IBM PC APL Version 1.0 (1983)
  • microAPL (1982) - University of Waterloo / WATCOM APL
  • Portable Software PortaAPL
  • Rationalized APL\PC - New Generation APL Research Group (NGARG)
  • Sharp APL/PC

ECMAScript-based implementations

  • NGN APL - Not complete yet, but works - Open source

Publications

  • William Prager: An Introduction to APL - Allyn and Bacon 1971, ISBN 2-04-015638-0
  • Leonard Gilman; Allen J. Rose: APL: An Interactive Approach 3rd edition - Wiley 1984, ISBN 0-471-09304-1

Links

USENET