|
ABSTRACT
Iverson has greatly enlarged the mathematical notion of function composition and made it available to computer programmers. This paper explains the concept, and uses practical examples to show how concise, powerful programs can be written and read. Alternative forms are given, and ways of overcoming initial difficulties are explained.The systematic use of composition extends the well-known advantages of APL; namely conciseness, consistency, and generality.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
Bick, T.A. Introduction to Abstract Mathematics. Academic Press, New York (1971) p.35.
|
| |
3
|
Bond, W.L. Computation of interfacial angles, interzonal angles, and clinographic projection by matrix methods. American Mineralogist, Vol.31 (1946) p.31-42.
|
| |
4
|
Crowe, M.J. A History of Vector Analysis: The evolution of the idea of a vectorial system. University of Notre Dame Press. (1967) 270p.
|
| |
5
|
Davis, John C. Markov Chains: In: Statistics and Data Analysis in Geology. John Wiley & Sons, New York. 2nd Edition (1986) Chapter 4.
|
| |
6
|
Falkoff, A.D., and K.E. Iverson. The APL Terminal System: Instructions for Operation. IBM Research, International Business Machines Corporation, Thomas J, Watson Research Center, Yorktown Heights, New York (November 30, 1966) p.21.
|
 |
7
|
|
 |
8
|
|
| |
9
|
Hyde, E.W. Grassmann's Space Analysis. John Wiley & Sons, New York. Mathematical Monograph Number 6 (1906) 59p. First edition under the title Higher Mathematics, 1896. {A simple and concise presentation of the principles of Grassmann's Space Analysis. Grassmann's original work (1844, 1878, 1894) is very difficult.}
|
| |
10
|
|
| |
11
|
|
| |
12
|
Iverson, K.E. Arithmetic. Iverson Software, Inc., Toronto, Ontario, Canada (1991) l18p.
|
| |
13
|
Iverson, K.E. Programming in J. Iverson Software, Inc., Toronto, Ontario, Canada (1992). 76p.
|
| |
14
|
Iverson, K.E. Calculus. Iverson Software, Inc., Toronto, Ontario, Canada (1993) ISBN 1-895721- 05-9.
|
| |
15
|
Iverson, K.E. J: Introduction and Dictionary. Version 7. iverson Software Inc., Toronto, Ontario, Canada (1993). ISBN 1-895721-06-7
|
| |
16
|
Iverson, K.E. J: Introduction and Dictionary. Iverson Software Inc., Toronto, Ontario, Canada (1994) ISBN 1-895721-08-3.
|
 |
17
|
|
| |
18
|
James, R. (James & James) Mathematics Dictionary. Van Nostrand Reinhold, New York (1992) 5th Edition, p.72-73, 175-176.
|
| |
19
|
Klein, F. Elementary Mathematics from an Advanced Standpoint: Geometry. Dover Publications, Inc., New York (1939) p.3-33. Translated from the 3rd German edition, 1925.
|
| |
20
|
Knopp, K. Elements of the Theory of Functions. Constable, London (1952) p.88.
|
| |
21
|
Kudravtsev, L.D. In: Encyclopaedia of Mathematics. Kluwer Academic Publishers, Dordrecht, Netherlands. Vol.2 C (1988), p.283-285; Vol.4 (1989) p.126-131.
|
| |
22
|
March, H.W., and H.C. Wolff. Calculus. McGraw- Hill, New York (1917) 360p.
|
| |
23
|
McDonnell, E.E. At Play with J. Vector. The Journal of the British APL Association. Vol. 10, No. 3 (1994) p.100-105.
|
| |
24
|
McDonnell, E.E. At Work and Play with J: Control Structures in J Version 8. Vector. The Journal of the British APL Association. Vol. 11, No. 1 (1994) p.136-138.
|
| |
25
|
McDonnell, E.E. At Work and Play with J (Parallel Jacobi). Vector. The Journal of the British APL Association. Vol. 11, No. 3 (1995) p. I 11- I 18.
|
 |
26
|
|
| |
27
|
|
| |
28
|
Mclntyre, D.B. Jacobi's Method for Eigenvalues. Vector. The Journal of the British APL Association. Vol. 9, Number 3 (1993a) p. 125-133.
|
| |
29
|
McIntyre, D.B. AMENDMENT: "A Change for the Better". Vector. The Journal of the British APL Association. Vol. 9, No. 3 (1993b) p.134-142.
|
| |
30
|
|
| |
31
|
McIntyre, D.B. J: A First Lesson and J: A Second Lesson. The Education Vector. In: Vector. The 1oumal of the British APL Association. Vol. 10, No. 4 (1994) p.18-29, and Vol.11, No. 1 (1994) p.36-44.
|
| |
32
|
Murdoch, J.C. Linear Algebra for Undergraduates. John Wiley and Sons, New York. (1957) Appendix 2, Three-dimensional analytic geometry.
|
| |
33
|
Sylvester, J.J. On Staudt's Theorems concerning the Contents of Polygons and Polyhedrons, with a Note on a New Resembling Class of Theorems. Philosophical Magazine, Vol.4 (1852) p.335-345. Reprinted in Sylvester's Collected Works. Cambridge University. (1904) Vol.1, Number 48, p.382-391.
|
| |
34
|
Terpstra, P., and L.W. Codd. Crystallometry. Academic Press, New York. (1961) p.180, 286-287.
|
 |
35
|
|
| |
36
|
Webb, J.R.L. Functions of Several Real Variables. Ellis Horwood, New York (1991) p.41.
|
INDEX TERMS
Primary Classification:
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.2
Language Classifications
Nouns:
APL
Additional Classification:
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.2
Language Classifications
Nouns:
J
D.3.3
Language Constructs and Features
Subjects:
Procedures, functions, and subroutines
F.
Theory of Computation
F.2
ANALYSIS OF ALGORITHMS AND PROBLEM COMPLEXITY
F.2.2
Nonnumerical Algorithms and Problems
Subjects:
Geometrical problems and computations
F.3
LOGICS AND MEANINGS OF PROGRAMS
F.3.3
Studies of Program Constructs
Subjects:
Functional constructs
General Terms:
Algorithms,
Languages
Keywords:
APL,
Iverson,
J,
adverbs,
composite verbs,
conjunctions,
executable mathematical notation,
forks,
function composition,
geometry,
gerunds,
hooks,
trains
|