Jump to content

APL: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
mNo edit summary
Line 5: Line 5:
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 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.
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 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 70's [[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".
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 of APL==
==OS/2 implementations==
* [[APL2]] - Commercial - Discontinued
* [[APL2]] - Commercial
* [[The APL c compiler project]] - APL to C translator - Open source - Current
* [[The APL c compiler project]] - APL to C translator - Open source
* [[J]] - Iverson Software Inc. (1992)
* [[J]] - Iverson Software Inc. (1992)


==DOS implementations of APL==
==DOS implementations==
* APL*Plus/PC (1982) - STSC Inc. - [http://www.math.uwaterloo.ca/apl_archives/apl/apl-plus/index.html APLSE]
* APL*Plus/PC (1982) - STSC Inc. - [http://www.math.uwaterloo.ca/apl_archives/apl/apl-plus/index.html APLSE]
* I-APL/PC
* I-APL/PC
* IBM [[APL2]] - Commercial - Discontinued
* IBM [[APL2]] - Commercial
* IBM PC APL Version 1.0 (1983)
* IBM PC APL Version 1.0 (1983)
* microAPL (1982) - University of Waterloo
* microAPL (1982) - University of Waterloo
Line 21: Line 21:
* Sharp APL/PC
* Sharp APL/PC


==ECMAScript based implementations of APL==
==ECMAScript-based implementations==
* [https://github.com/ngn/apl NGN APL] - Not complete yet, but works - Open source - Current
* [https://github.com/ngn/apl NGN APL] - Not complete yet, but works - Open source


==Publications==
==Publications==
* [[Zdeněk V. Jizba]]:  
[[Zdeněk V. Jizba]]:
**The time is ripe for a dyadic execute "ACM SIGAPL APL" Volume 19 Issue 2, Dec 1988, Page 5  
*The time is ripe for a dyadic execute "ACM SIGAPL APL" Volume 19 Issue 2, Dec 1988, Page 5  
**Introducing APL to Teachers, "Vector - The journal of the British APL Association"  vol 8, issue 3, page 19
*Introducing APL to Teachers, "Vector - The journal of the British APL Association"  vol 8, issue 3, page 19
**Science Education in California, "Vector - The journal of the British APL Association" vol 8, issue 2, page 22
*Science Education in California, "Vector - The journal of the British APL Association" vol 8, issue 2, page 22
**Object Oriented Programming and APL, "Vector - The journal of the British APL Association" vol 7, issue 3, page 108
*Object Oriented Programming and APL, "Vector - The journal of the British APL Association" vol 7, issue 3, page 108
**Problems for APL Buffs (III), "Vector - The journal of the British APL Association" vol 7, issue 3, page 140
*Problems for APL Buffs (III), "Vector - The journal of the British APL Association" vol 7, issue 3, page 140
**Problems for APL Buffs (II), "Vector - The journal of the British APL Association" vol 6, issue 4, page 117
*Problems for APL Buffs (II), "Vector - The journal of the British APL Association" vol 6, issue 4, page 117
**Problems for APL Buffs (I), "Vector - The journal of the British APL Association" vol 6, issue 3, page 109
*Problems for APL Buffs (I), "Vector - The journal of the British APL Association" vol 6, issue 3, page 109
**Generic Local Objects, "Vector - The journal of the British APL Association" vol 5, issue 3, page 103
*Generic Local Objects, "Vector - The journal of the British APL Association" vol 5, issue 3, page 103
 
===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==
Line 43: Line 40:
* [http://www.sigapl.org/ APL SIG]
* [http://www.sigapl.org/ APL SIG]
* [https://sites.google.com/site/baavector/ British APL Association]
* [https://sites.google.com/site/baavector/ British APL Association]
;Tutorial
* [[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].


;USENET
;USENET

Revision as of 00:28, 2 March 2019

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 in a hardware/software combination rather that 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 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. - APLSE
  • I-APL/PC
  • IBM APL2 - Commercial
  • IBM PC APL Version 1.0 (1983)
  • microAPL (1982) - University of Waterloo
  • 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

Zdeněk V. Jizba:

  • The time is ripe for a dyadic execute "ACM SIGAPL APL" Volume 19 Issue 2, Dec 1988, Page 5
  • Introducing APL to Teachers, "Vector - The journal of the British APL Association" vol 8, issue 3, page 19
  • Science Education in California, "Vector - The journal of the British APL Association" vol 8, issue 2, page 22
  • Object Oriented Programming and APL, "Vector - The journal of the British APL Association" vol 7, issue 3, page 108
  • Problems for APL Buffs (III), "Vector - The journal of the British APL Association" vol 7, issue 3, page 140
  • Problems for APL Buffs (II), "Vector - The journal of the British APL Association" vol 6, issue 4, page 117
  • Problems for APL Buffs (I), "Vector - The journal of the British APL Association" vol 6, issue 3, page 109
  • Generic Local Objects, "Vector - The journal of the British APL Association" vol 5, issue 3, page 103

Links

Tutorial
USENET