Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/97808.97621acmconferencesArticle/Chapter ViewAbstractPublication PagesaplConference Proceedingsconference-collections
Article
Free access

The A+ programming language, a different APL

Published: 01 May 1990 Publication History

Abstract

This paper introduces A+, which is an Array Oriented programming language derived from APL, and explains the motivations for creating such a language.
After discussing of some problems of current APL system, like the lack of control structures, the usage of dynamic binding, and the difficulty of handling functions, we present how these problems are solved in A+.
The most important feature of A+ is that it uses lexical binding rather than dynamic binding as APL does, which solves some old problems of APL while making it a safer language, and offers a new kind of programming style.

References

[1]
: Harold Abelson, Jay Sussman, Interpretation of computers programs, M.I.T. Press, 1985.
[2]
: Paui Braffort, Jean Michel, x\ApL : an experimental extensible programming system, Tech. Report Mathemadque, Universite Paris XI, Orsay, France, 1976.
[3]
: Michael F. C. Crick, Should APL be a declining language, APL 81 Conference, in APL II 12.1, September 1981.
[4]
: Joseph L. F. De Kerf, APL and Structured Programming : An Annotated Bibliography, APL CAM Journal, Vol 8, n"2, Avril86.
[5]
: Martin Gfeller, A Future APL : Examples and Problems, APL 89 Conference, in APL 0 19,4, August 1989.
[6]
: Jean-Jacques Girardot, Frangois Mireaux, Rkalisation dun interprhe complet du langage APL sur un miniordinateur, TMse de Docteur-Ingenieur, Univewitt? de Nancy I, Septembre 1976.
[7]
: Jean-Jacques Girardot, The APL 90 Project : new directions in apl interpreters zechnobgy, In APL85 Conference Proceedings ACM, Seattle may 85.
[8]
: Jean-Jacques Girardot, R&'Zexions autour du poste de travail APL, 7Nse de Doctorat bs Sciences Mathdmatiques, Universiti de Saint-Etienne, Juin 1989.
[9]
: Alan Graham, APL0 : A Simple Modern APL, APL 89 Conference, in APL l!J 19, 4, August 1989.
[10]
: Robert Hodgkinson, APL, Procedures (User defined Operators, Functions, and Token Strings), APL 86 Conference of the ACM "APL in Action", Manchester, July 1986, in APL I!l 16,4.
[11]
: A. Jaworsky, Exel-APL, Un APL Srructurb, in "Applications d'APL en France", AFCET, Paris, Juin 1977.
[12]
: Michael Jenkins, Jean Michel, ALICE: An Extensible Language Based on APL Concepts, QUTR 80-104, Novembre 80.
[13]
: Michael A. Jenkins, Q'htial : A Portable Interpreter for the Nested Interactive Array Language, Ivial, Software Practice & Experience, Vol19,2, February 1989.
[14]
: Greg Johnson, APL in operating systems Research, APL 81 Conference, in APL Cl 12, 1, September 1981.
[15]
: R. A. Kelley, J. R. Walter, APLGOL-2, A Structured Programming System for APL, IBM Palo-Alto Scientific Center, Technical Report G320-3318,1973.
[16]
: Yvon Kermarrec, Robert Rannou, Presentation du langage Occmt, Technical Report, ENST Bretagne, September 1986.
[17]
: David J. Landaeta, A Notation for Manipulating Arrays of Operations, APL 86 Conference of the ACM, "APL in Action", Manchester, July 1986, in APL pI 16,4.
[18]
: Stephen M.Mansour, Techniques for Avoiding Conditio~l Execute in APL2, in APL 89 Conference, APL pI 19.4, August 1989.
[19]
: John McCarthy, Recursive Functions of Symbolic Expressions and Their Computation by Machine, Communications of the ACM, 3,196O.
[20]
: Carl McCrosky, Anthony Kusalik, Improving First-c1cl.ss Array Expressions Using Prolog, Logic Programming, Proceedings of the Fifth Jntemational Conference and Symposium, MIT Press, 1988.
[21]
: Drew McDermott, An Eficient Environment Allocation Scheme in an Znterpreter for a Lexicalty-scoped Lisp, Conference Record of the 1980 LISP Conference, printed 1985, ACM.
[22]
: Hai-Chen Tu, Alan J. Perlis, FAC : A FWUX+OM~ APL Language, IEEE Software, January 1986.
[23]
: Denis P. Samson, A Proposal For Control Structures in APL, APL 84 Congress mmxdings, in APL PI 14,4, June 1984.
[24]
: Revised Report on the Algorithmic Language Scheme, Sigplan Notices, Vol 21 n. 12, December 1986.
[25]
:,Guy L. Steele, Common Lisp, the Language, Digital Press, December 1984.

Cited By

View all

Recommendations

Reviews

Martin C. Gfeller

Many computer scientists dislike several things about APL. The best-known are lack of proper block and control structures, dynamic binding, and the lack of first-class functions. The author discusses each of these deficiencies and gives APL examples illustrating some difficulties caused by them. He then introduces A+ as a modification of APL that addresses these deficiencies. The most important changes in A+ are the addition of first-class blocks and lexical scoping. Blocks can be both executed and used as data. They replace APL's defined functions and operators. Since they are data, they can also serve as functional arguments and results. Some examples of a new programming style made possible by these changes are given, and a model interpreter is outlined. This paper is geared to an audience familiar with APL. It presents good examples and reads well. The references are extensive and well chosen. Some areas could be improved: the descriptions of some problems and their solutions are split, making it hard to see the connection; the interpreter description is too short to be really useful; and some features (such as continuations) are only mentioned in passing. This paper is important for APL, because it presents clean remedies to some long standing problems of the language without destroying its fabric. I recommend it for serious APL developers and others interested in modern array-oriented languages.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
APL '90: Conference proceedings on APL 90: for the future
May 1990
438 pages
ISBN:089791371X
DOI:10.1145/97808
  • cover image ACM SIGAPL APL Quote Quad
    ACM SIGAPL APL Quote Quad  Volume 20, Issue 4
    APL 90: for the future conference proceedings (Copenhagen, Denmark, Aug. 13–17, 1990)
    July 1990
    425 pages
    ISSN:0163-6006
    DOI:10.1145/97811
    Issue’s Table of Contents

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 1990

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

APL90
Sponsor:

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)545
  • Downloads (Last 6 weeks)18
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media