Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

A survey of extensions to APL

Published: 26 July 1982 Publication History

Abstract

A survey of proposed extensions to the APL language is made with emphasis placed on the motivations for various proposals, the differences between them and the consequences of their adoption. Some issues of a more general nature concerning the purpose, process and direction of language extension are also discussed. An extensive bibliography is provided with annotations concerning the nature, development and influence of various authors' works. Areas of extension encompassed by the survey include nested arrays, complex numbers, uniform application of functions, laminar extension, primitive functions, control structures, direct definition, operators, system functions and variables, name scope control and event trapping.

References

[1]
Backus, J. Can Programming Be Liberated from the Von Neumann Style? Communications of the ACM, v21#8, ACM, pp. 613-641.
[2]
Bork, A. Limitations of APL as a Language for Student-Computer Dialogues. APL Quote Quad, v5#4, ACM, Winter 1974.
[3]
Elliot, Maurice. Decision Support Systems: The Power and Problems of APL. APL Users Meetings Proceedings, I. P. Sharp Associates, Inc. 1980, pp. 363-368.
[4]
Falkoff, A. D.; K. E. Iverson. The Design of APL. The IBM Journal of Research and Development, v17#4, pp. 324-334.
[5]
Falkoff, A. D.; K. E. Iverson. The Evolution of APL. SIGPLAN Notices #13, ACM, August 1978.
[6]
Giloi, W. K. How Modern Is APL? APL80 International Conference on APL, North Holland Pub. Co., 1980, pp. 291-297.
[7]
McDonnell, E. E. Registry of Extensions. APL Workshop at Asilomar, APL Quote Quad v10#1, ACM, Sept. 1979.
[8]
McDonnell, E. E. The Four Cube Problem: A Study in BASIC, APL and Functional Programming. APL Press, 1981.
[9]
Wiedmann, Clark. Progress on an ANSI Standard for APL. APL81 Conference Proceedings, ACM, pp. 335-340.
[10]
Abrams, Phillip S. An Interpreter for Iverson Notation. Tech. Rep. CS47, Comp. Sci. Dept., Stanford University, Stanford, Calif. 1966. (NA)First appearance of nested array ideas.
[11]
Abrams, Phillip S. What's Wrong with APL?. APL75. (Nam, SCF)Broad survey of APL's weak points with some suggestions for changes.
[12]
Abrams, Phillip S, John W. Myrna. Automatic Control of Execution: An overview. APL79, 141-147. (AEx, EvT)
[13]
Alfonseca, M.; M. L. Tavera. Extension of APL to Tree-Structured Information. APL76, 1-23. (SCF)
[14]
Anderson, William L. APL 81: A View from the Sidelines. APLQQ v12#2, 4-5, Dec. 1981.
[15]
Benkard, Phillip J. Adding and Using Structure in General Arrays. APL81, 35-41. (NA, Prt, PrF)Gives two dyadic partition functions and compares these to operator proposals.
[16]
Berke, P. Data Design with Array Theory. IBM/Cm G320-2123, 1978. (AT)
[17]
Berke, P. Tables, Files and Relations in Array Theory. IBM/Cm G320-2122, 1978. (AT)
[18]
Bernecky, Bob; Kenneth E. Iverson. Operators and Enclosed Arrays. APL Users Meetings Proceedings, I. P. Sharp Associates, Inc., 1980. (Ops, DDf, Prt, NA)Continues work of Iverson {73, 75} with some important changes.
[19]
Bernecky, Bob; Kenneth E. Iverson. Representations for Enclosed Arrays. (NA)Compares three storage techniques.
[20]
Berry, Paul. SHARP APL Reference Manual. I. P. Sharp Associates, Inc., March 1979. (AEx, EvT, Pkg, SCF)
[21]
Berry, Paul. How the Package Data-Type Has Affected Programming. APL Users Meetings Proceedings, I. P. Sharp Associates, Inc., 1980. (Pkg, Nam)Gives motivations, uses, implications of packages. Compares to nested arrays.
[22]
Bork, Alfred M. Graphics in APL. APL IV, 33-36.
[23]
Bork, Alfred M. Correspondence. APLQQ v6#3, Fall 1975.Suggests that graphics capability be primitive in the language.
[24]
Bouricius, W. G.; N. R. Sorensen. An Informal Introduction to a Language and a Data Base. Structures and Operations in Engineering and Management Science, Tapir Publishers, Norway, 1981.
[25]
Braffort, Paul; J. Michel. X\APL: An Experimental Extensible Programming System. Tech. Report, Mathematique Universite, Paris XI, Orsay, France.
[26]
Breed, Lawrence M. Definitions for Fuzzy Floor and Ceiling. APLQQ v8#3, 17-23, March 1978. (CT)
[27]
Brown, James A. A Generalization of APL. Doctoral Thesis, Dept. of Systems and Information Sciences, Syracuse University, New York 1971. (NA, Ops, PrF, Man, Idx, SLA, Lam, ArF, MP)An early inspirational work suggesting numerous extensions in many areas.
[28]
Brown, James A. Evaluating APL Extensions. Proceedings SEAS78 Conference, 1978.
[29]
Brown, James A. Evaluating Extensions to APL. APL79, 148-155. (Cpx, NA, Ops)Suggests a classification system and guidelines for extension proposals.
[30]
Brown, James A; M. A. Jenkins. The APL Identity Crisis. APL81, 62-66. (Emp, Ops)Discusses definition of reduction on empty (esp. nested) arguments.
[31]
Burrill, J. H. Jr. Some Notes on Handling Errors in APL. APLQQ v9#3, 44-47, March 1979. (EvT)
[32]
Cheney, Carl M. APL*PLUS Nested Arrays Reference Manual. STSC Inc., 1981. (NA, Ops, PrF, DDf, Idx, IO, Prt, Set)Describes numerous extensions available on STSC Inc.'s experimental NARS system.
[33]
Cherlin, Mokurai. Nested Arrays: Potent New Structure. APL Market News #8, p. 6. (ArF, Ops)Praises STSC Inc.'s NARS system with some reservations; mentions further extensions.
[34]
Ching, Wai-Mee. Introducing Modules into APL. APLQQ v11#4, 12-17, June 1981. (CS)Describes new facility for modular packaging of functions and expressions.
[35]
Crick, Michael F. C. Variations on APL Flat Major. APL In Practice, John Wiley and Sons, 1980. (PrF, SCF, Set, Ops)Surveys some extensions currently implemented on various systems.
[36]
Crick, Michael F.C. Right to Left OR Left to Right! APLQQ v10#3, 21-26, March 1980.Introduces"recipe idiom"to break down APL expressions using separtor punctuation and a stack.
[37]
Crick, Michael F.C. An ASCII Notation for APL. APLQQ v11#1, 18-25, Sep. 1980.Motivates and describes ASCII keyword equivalents for APL symbols and constructions.
[38]
Crick, Michael F.C. Should APL Be a Declining Language? APL81, 83-88. (NA, Pkg, SCF, Idx, Nam)Describes broad scheme to generalize APL objects (arrays, functions, workspaces, etc.) and thus to eliminate declensions from the language.
[39]
DeKerf, Joseph L. F. The Story of 0÷0. APL80, 133-135. (PrF)Suggests that a DOMAIN ERROR should result from 0÷0.
[40]
Deturck, D. M.; D. L. Orth. A Derivative Algorithm for APL. APL Users Meeting Proceedings, I. P. Sharp Associates, Inc., 1980.
[41]
Dubrulle, A. A. An Extension of the Domain of the APL Domino Function to Rank Deficient Linear Least Squares Systems. APL75. (PrF)
[42]
Edwards, E. M. Generalized Arrays (Lists) in APL. APL73, 99-105.(NA) Early nested arrays proposal, differs from both floating and grounded systems.
[43]
Eisenberg, Murray. Zero Divided by Zero: Zero or One—or Neither. APLQQ v11#1, 9-10, Sep. 1980. (PrF)Suggests that a DOMAIN ERROR should result from 0÷0.
[44]
Falkoff, Adin D. Some Implications of Shared Variables. APL76, 11-148. (SCF)
[45]
Falkoff, Adin D. A Note on Pattern Matching: Where Do You Find the Match to an Empty Array? APL79, 119-122.
[46]
Falkoff, Adin D. A Pictorial Format Function for Patterning Decorated Numeric Displays. APL81, 101-106. (Fmt)
[47]
Falkoff, Adin D. More on Strand Notation. APLQQ v12#2, 7-8, Dec. 1981.
[48]
Forkes, Doug. Complex Floor Revisited. APL81, 107-111. (Cpx, CT)Presents alternate definition to McDonnell {112} and motivations.
[49]
Foster, Garth H. What Lies Beyond the Branch Arrow? APL75. (CS)
[50]
Foster, Garth H. On the Locus of Flow Within and Among Secondary Functions. APL79, 333-339. (CS, MP)Proposes restricted form of branching and a more general function calling mechanism.
[51]
Fritz, Eddie; et. al. Debugging Aids. Asilomar. (Evt)Discussion of stopping and tracing facilities.
[52]
Galbraith, D. S. Primitive Functions for Graphics in APL. APLQQ v7#1, 27-36, Summer 1976.Proposes 3 primitives for graphics I/O, graphic environment modification and storage.
[53]
Galbraith, D. S. A Conditional Read Function for APL. APLQQ v8#3, 24, March 1978. (IO)Describes experimental read facility which gets input only if available.
[54]
Georgeff, M. P.; Fris, I.; Kautsky, J. The Effect of Operators on Parsing and Evaluation in APL. Computer Languages, Vol. 6, 67-78, 1981. (Ops)
[55]
Georgeff, M. P.; Fris, I.; Kautsky, J. Parsing and Evaluation of APL with Operators. APL81, 117-124. (Ops)Gives modified grammars to parse new operator expressions.
[56]
Ghandour, Ziad Jamil; Jorge Mezei. Generalized Arrays, Operators and Functions. IBMJRD V17#4, 335-352. (NA, Ops, PrF)Proposes a rich set of extensions for a floating nested array system.
[57]
Ghandour, Ziad Jamil; Jorge Mezei. A Simple Approach to the Empty Generalized APL Arrays. APL76, 178-188. (NA, Emp)Proposes an alternative scheme for handling empty arrays than is given in {47}.
[58]
Gilmore, John C. Tree Theory in APL. APLQQ v8#3, 37-38, March 1978. (NA)An enjoyable spoof of nested array proposals.
[59]
Gilmore, John C; Thomas H. Puckett. A Latent-Expression Exception-Handling System. APL79, 244-248. (EvT)Describes STSC Inc.'s event trapping facility which uses character matrix error identification.
[60]
Gilmore, John C. Axis Generation and Coalescence. Asilomar. (PrF, Lam)Describes shake primitive (shape-take) to extend arrays with singular axes.
[61]
Gilmore, John C.; et. al. Name Scopes. Asilomar. (Nam)Discusses different proposals for name scope control.
[62]
Grossman, Richard. Programmed Error Recovery for APLSV. APLQQ v7#3, 7-11, Fall 1976. (Evt) Describes error-trapping system using latent expression-like construct and character matrix error representation.
[63]
Gull, W. E.; Michael A. Jenkins. A Contribution to the Development of Recursive Data Structures in APL. QUTR 75-38, 1975. (NA, Ops, PrF)Early proposal for grounded nested arrays system.
[64]
Gull, W. E.; Michael A. Jenkins. Recursive Data Structures and Related Control Mechanisms in APL. APL76, 201-210. (NA, Ops, PrF)Continues work from {54} with applications.
[65]
Gull, W. E.; Michael A. Jenkins. Recursive Data Structures in APL. Communications of the ACM, v22#2, 79-96. (NA, Ops, PrF, Emp)Compares various nested array proposals and continues work of {54,55} with some changes.
[66]
Gull, W. E.; Michael A. Jenkins. Decisions for 'Type' in APL. 6th Annual Principles of Programming Languages Conference proceedings, 190-196. (Typ, NA)
[67]
Haegi, Hans R. The Extension of APL to Treelike Data Structures. APLQQ v7#2, 8-18, Summer 1976. (NA, PrF, Ops, Idx)Proposes what is actually a nested arrays system (using a canonical treerepresentation), stressing indexing. Also discusses composition as a generalization of reduction.
[68]
Hagerty, Patrick E. More on Fuzzy Floor and Ceiling. APLQQ v8#4, 20-24, June 1978. (CT)Replies to {17} suggesting some changes.
[69]
Hagerty, Patrick E. Floor. Asilomar. (CT, Cpx) Presents revised opinions from {59} with regard to the complex domain.
[70]
Hardwick, Martin. Graphical Data Structures in APL. APL81, 129-136. (PrF, NA)Describes nested extensible graphics structures and functions for manipulating them.
[71]
Harris, L. R. A Logical Control Structure for APL. APL73, 203-210. (CS)
[72]
Harris, Thomas, J. Event Variables—ON Conditions for APL. APL75, 177-180. (Evt)
[73]
Hartigan, Bruce J. AP19 - A Shared Variable Terminal I/O Interface for APL Systems. APL81, 137-141. (IO)
[74]
Haspel, Chuck. More APL Symbols. APLQQ v6#4, p. 2, Winter 1976.Gives further overstruck symbol possibilities (see {150}).
[75]
Hassitt, A.; L. E. Lyon. Array Theory in an APL Environment. APL79, 110-115. (NA)Describes APL-like system for testing models of Array Theory.
[76]
Von Hohenbalken, B.; W. C. Riddel. A Compact Algorithm for the Moore-Penrose Generalized Inverse. APLQQ v10#2, 30-32, Dec. 1979.
[77]
Holmes, W. N. Of Noughts and IF's and Matrices—Some Comments on APLQQ{9;2;}. APLQQ v10#3, 7-11, March 1980. (PrF, Idx, Lam)Makes suggestions for axis specification for scalar functions, extended index generation for arithmetic sequences, and others.
[78]
Hoskin, Zeke. Redefining Reduction Along an Empty Axis. APLQQ v11#3, 17-18, March 1981. (Emp, Ops, PrF)Describes scheme which provides pseudo-identity elements for some primitives.
[79]
Iverson, Kenneth E. A Programming Language. John Wiley & Sons, Inc., New York, 1962.The original work describing APL as a mathematical notation; uses a notation very different from current APL and includes some functions not yet incorporated into the language.
[80]
Iverson, Kenneth E. Elementary Analysis. APL Press, 1976.
[81]
Iverson, Kenneth E. Two Combinatoric Operators. APL76, 233-237. (Ops)Describes operators for a generalized determinant and for function table generation.
[82]
Iverson, Kenneth E. Operators and Functions. IBM Research Report #7091, IBM Corp., April 1978. (Ops, PrF, NA, DDf, Idx, Unf, Set)Presents a rich and diverse set of ideas for extensions; later works expand on only some portions of this one.
[83]
Iverson, Kenneth E. The Derivative Operator. APL79, 347-354. (Ops)Discusses a derivative operator and its use in exposition. Gives functions for use in experimentation.
[84]
Iverson, Kenneth E. The Role of Operators in APL. APL79, 128-133. (Ops, ArF)Discusses syntax of operators and other general issues. Gives a number of examples of operators.
[85]
Iverson, Kenneth E. Operators. Transactions on Programming Languages and Systems v1#2, 161-176, ACM, October 1979. (Ops, DDf)Discusses operator concept and gives some proposals. Some differences from {73, 75}.
[86]
Iverson, Kenneth E.; R. Smith; J. A. Brown. On Strand Notation. APLQQ v11#3, 3-8, March 1981. (NA, PrF)A lively discussion of Strand notation; Iverson against it and Smith and Brown in favor of it.
[87]
Iverson, Kenneth E.; Peter K. Wooster. A Function Definition Operator. APL81, 142-145. (DDf, Ops, CS)Proposal includes facility for control of multiple statement execution.
[88]
Jenkins, Michael A. The Design of an APL Primitive for the Eigenproblem. APL75. (PrF)
[89]
Jenkins, Michael A. The APL Workshop Session on Extensibility. APLQQ v8#2, 14, Dec. 1977.Describes the development of ideas on extensibility and an implementation at Universite Laval.
[90]
Jenkins, Michael A.; Trenchard More. The APL Workshop Session on General Arrays. APLQQ v8#2, 12-13, Dec. 1977. (NA)Discusses the differences between the various systems.
[91]
Jenkins, Michael A.; Jean Michel. On Types in Recursive Data Structures: A Study from the APL Literature. Proceedings of the 5th Jerusalem Conference on Info. Tech., 523-538, August 1978. Also QUTR 77-59, Dec. 1977. (Typ, NA)
[92]
Jenkins, Michael A.; Jean Michel. Operators in an APL Containing Nested Arrays. APLQQ v9#2, 8-20, Dec. 1978. Also QUTR 78-60. (NA, Ops, Idx, Unf, Lam, PrF, SLA)Presents powerful depth and axis operators for use with nested arrays, as well as other functions and operators. Discusses symmetry in primitives and other issues. Uses a new formal notation for discussion of arrays.
[93]
Jenkins, Michael A.; et. al. General (Nested) Arrays. Asilomar. (NA)Jenkins reports his "conversion" to the floating nested array scheme.
[94]
Jenkins, Michael A. On Combining the Data Structure Concepts of LISP and APL. QUTR 80-109, Sept. 1980. (AT, NA)Derives a fundamental equation of Array Theory which strongly suggests use of the floating system.
[95]
Jenkins, Michael A.; Jean Michel. ALICE: An Extensible Language Based on APL Concepts. QUTR 80-104, Nov. 1980. (NA, Ops, Typ)Generalizes many APL concepts and adds a typing facility to achieve a powerful extensible language.
[96]
Jenkins, Michael A. A Development System for Testing Array Theory Concepts. APL81, 152-159. (AT, NA)Describes the implementation and use of the NIAL interpreter.
[97]
Jenkins, Michael A. The Q'Nial Reference Manual. Queen's University, Kingston, Nov. 1981.
[98]
Jizba, Z. V. Distributed Product. APLQQ v6#1, 37, Spring 1975. (Lam, Ops)Proposes the distributed product operator to allow vector/matrix operations.
[99]
Kajiya, James T. Generic Functions by Non-standard Name Scoping in APL. APL81, 172-179. (Typ, Nam, MP)Achieves generic functions without specific data typing through hierarchical namespaces and a coroutine mechanism.
[100]
Keenan, Douglas J. Operators and Uniform Forms. APL79, 355-361. (Unf, Ops, Lam, PrF)Describes extension of uniform functions (forms) to higher rank arrays. Defines unit rank operators to limit function ranks.
[101]
Kelley, R. A. APLGOL, An Experimental Structured Programming Language. IBMJRD, v17#1, 69-73, January 1973. (CS)Describes an extended APL with ALGOL-like control structures.
[102]
Kelley, R. A.; John R. Walters. APLGOL-2: A Structured Programming Language System for APL. APL6, 275-280. (CS)
[103]
Kemp, Franklin. Design of a Structured APL. APLQQ v9#1, 11-13, Sep. 1978. (CS)Describes an APL preprocessor to handle DO and IF constructions.
[104]
Kline, Edward M. Variable Control. APLQQ v4#4. (EvT)Suggests a stop/trace type of control to print information on variables each time they are accessed.
[105]
Lathwell, Richard H. APL Comparison Tolerance. APL76, 255-258. (CT)Discusses motivations for comparison tolerance and derives definitions for tolerant functions.
[106]
Lathwell, Richard H. Some Implications of APL Order-of-Execution Rules. APL79, 329-332.Examines conventions for determining order of execution and finds them inadequate.
[107]
Lathwell, Richard H. SHARP APL Multiprocessing and Shared Variables. APL Users Meetings Proceedings, I. P. Sharp Associates, Inc., 1980. (MP, AEx)Describes the combination of shared variables and a detached execution facility to achieve a multiprocessing environment.
[108]
Lathwell, Richard H. The SHARP APL S-Task Interface. SATN-39, I. P. Sharp Associates, Inc., June 1981. (AEx, MP)Describes the SHARP APL detached task facility.
[109]
Lewis, G. R. A New Array Indexing System for APL. APL75. (Idx)Suggests the breakdown of indexing into more fundamental capabilities. Also suggests a hierarchical set of APL-like languages.
[110]
Lezotte, D. C.; J. J. Hubert. The Generalized Inverse. APLQQ v7#2, Summer 1976.Discusses the Moore-Penrose inverse of non-square, possibly singular matrices and demonstrates its usefulness.
[111]
Lim, A. L.; G. R. Lewis. Towards Structured Programs in APL. The Computer Journal, v18#2 140-143. (CS)
[112]
Link, Donald A.; Martin W. Gardner. Deferred Execution: An ACE of an Application. APL79, 1-7. (AEx)Describes the design and implementation of STSC Inc.'s facility for specifying the deferred execution of tasks.
[113]
Lowney, Geoffrey; Alan Perlis. Does APL Need Arbitrary Nesting? Minnow2. (NA)Suggests that two levels of nesting in nested arrays suffice for most applications.
[114]
Lucas, Jim. Beyond Laminate: Generalizing Creation of New Dimensions and Function Action Along Them. APL81, 195-198. (Lam, Ops)Defines an operator to allow rank expansion with possible function action along the created dimensions.
[115]
Marcum, Alan M. Secure Application Environments in APL\3000. APL79, 257-263. (AEx, EvT)Describes a combination of exception handling and state indicator interrupt/return mechanism to achieve greater security.
[116]
Marcum, Alan M. Multiple Execution Environments in APL. APL80, 105-111. (MP, CS)Describes the implementation of multiprocessing facilities on Hewlett Packard's APL\3000.
[117]
Martin, G. A. The Solutions of Linear Systems in APL: Towards an Extension of Matrix Divide. APL80, 113-121. (PrF, Cpx)
[118]
Mayforth, Rick. APLUM - APL at the University of Massachusetts. APLQQ v6#1, Spring 1975. (SCF, EvT)Describes several enhancements made to APL at the U. of Mass. including: execute primitive, tracing and locking facilities, and system function equivalents of system commands.
[119]
McAllister, B. I. Representation and Manipulation of Finite Sets. APLQQ v10#4, 8-12, June 1980. (Set)Presents 3 possible representations for sets (vector, boolean, integer-encoded boolean) and their uses.
[120]
McDonnell, Eugene E. Integer Functions of Complex Numbers with Applications. IBM/Ph #320-3008, Feb. 1973. (Cpx)
[121]
McDonnell, Eugene E. Complex Floor. APL73, 299-305. (Cpx, CT)
[122]
McDonnell, Eugene E. A Notation for the GCD and LCM Functions. APL75, 240-243. (PrF)Proposes extension of @@@@ and &Lgr; to the GCD and LCM functions.
[123]
McDonnell, Eugene E. Zero Divided by Zero. APL76, 295-296. (PrF)Presents reasons for changing the result of 0÷0 from 1 to 0.
[124]
McDonnell, Eugene E. Sauce for the Gander (or Adding a Vector to a Matrix). APLQQ v9#3, 64-66, March 1979. (Lam, Ops, PrF)Discusses various proposals for laminar extension and suggests extending the domain of the axis operator to scalar functions.
[125]
McDonnell, Eugene E. Fuzzy Residue. APL79, 42-46. (CT, Cpx, PrF)Discusses tolerant versions of residue and their effects on complex arguments and the representation function.
[126]
McDonnell Eugene E. Jeffrey O. Shallit. Extending APL to Infinity. APL80, 123-132. (PrF)Discusses the motivations for, representation of, and use of infinite values and arrays with infinite axes.
[127]
McDonnell, Eugene E. Mask and Mesh. Minnow2. (PrF, Ops)Proposes the implementation of mesh and mask functions with the selector vectors extended from boolean to signed integer.
[128]
McDonnell, Eugene E. An Implementation of Complex APL. APLQQ v11#3, 19-22, March 1981. (Cpx, PrF)Describes the SHARP APL enhancements for handling complex numbers (follows Penfield {155}).
[129]
McDonnell, Eugene E. Complex Numbers. SATN-40, I. P. Sharp Associates, Inc., June 1981. (Cpx, PrF)
[130]
Mebus, George. Laminar Extension: An Overlooked Capability and the Search for its Proper Home. APL79, 36-41. (Ops, PrF)Suggests that laminar extension be available through the expansion function/operator. Discusses compatibility with the by-slice operator of {83}.
[131]
Mein, Wm. J. Data Structure Extensions to APL: A Survey. M. Sc. thesis, Dept. of Comp. and Info. Science, Queen's University, Kingston, 1975. (NA, Ops, PrF)
[132]
Mein, Wm. J. Toward A Data Structure Extension to APL. APL76, 308-313. (NA, Ops, PrF, Idx)Reviews proposals for nested arrays, identifying critical issues and minimal capabilities.
[133]
Mengarini, William. Formal Commenting in APL. APLQQ v7#1, 11, Summer 1976. (EvT)Describes formal comment expressions (signalled by "n") which return a FORMAL ERROR if any element of the result is false.
[134]
Mercer, R. L. WHERE - &ohgr;. APLQQ v4#3, 18, April 1973. (PrF)Describes a primitive which searches for occurrences of the right argument pattern in the left argument.
[135]
Mercer, R. L. Extensions of APL to Include Arrays of Arrays. Tech. Report COINS 701, Univ. of Mass., Amherst, 1976. (NA)
[136]
Mercer, R. L. A Based System for General Arrays. APLQQ v12#2, 18-21, Dec. 1981.Describes an alternative to the floating and grounded array systems that purports to solve some problems of both.
[137]
Metzger, Robert C. Extended Direct Definition of APL Functions. APL80, 143-148. (DDf, CS)Motivates and describes the addition of control structure and multi-statement capabilities to direct definition proposals.
[138]
Mezei, Jorge E. Uses of General Arrays and Operators. APL6, 334-348. (NA, Ops)
[139]
More, Trenchard. Axioms and Theorems for a Theory of Arrays. IBMJRD v17#2, 135-175, March 1973. (AT, NA)Presents the formal axiomatics of Array Theory.
[140]
More, Trenchard. Notes on the Axioms for a Theory of Arrays. IBM/Ph #320-3017, May 1973. (AT, NA)
[141]
More, Trenchard. Notes on the Development of a Theory of Arrays. IBM/Ph #320-3016, May 1973. (AT, NA)
[142]
More, Trenchard. A Theory of Arrays with Applications to Data Bases. IBM/Ca #G320-2016, Sep. 1975. (AT, NA)
[143]
More, Trenchard. Types and Prototypes in a Theory of Arrays. IBM/Ca #G320-2112, May 1976. (AT, NA)
[144]
More, Trenchard. On the Composition of Array-Theoretic Operations. IBM/Ca #320-2113, May 1976. (AT, NA)
[145]
More, Trenchard. The Nested Rectangular Array as a Model of Data. APL79, 55-73. (AT, NA)Overview of Array Theory, its development and the choices it makes on key issues.
[146]
More, Trenchard. Nested Rectangular Arrays for Measures, Addresses and Paths. APL79, 156-163, (AT, NA, Idx)Demonstrates the generalization of measures, addresses and paths for arbitrary arrays (i.e., not just simple integer vectors).
[147]
More, Trenchard. Notes on the Diagrams, Logic and Operations of Array Theory. Structures and Operations in Engineering and management Science, Tapir Publishers, Norway, 1981. (AT, NA)
[148]
Murray, Ronald C. On Tree Structure Extensions to the APL Language. APL73, 333-338.
[149]
Murray, Ronald C. Namespaces: Semipermeable Membranes for APL Applications. APL Applications. APL81, 220-226. (Nam, SCF)Describes the addition of namespace and interface structures, and functions to manipulate them, to achieve packages with highly controllable name sharing.
[150]
Myrna, John. Names for System Functions. Minnow2. (SCF)Notes proliferation of system functions and suggests naming conventions.
[151]
Myrna, John; Jim Ryan. New Directions in Terminals. Minnow2. (IO)Notes the need for APL to more fully recognize the abilities of powerful new display terminals.
[152]
Nater, Feico. APL\360 Enhancements. APLQQ v6#1, Spring 1975. (PrF, SCF)Suggests scalar extension, axis specification, and first axis versions for ↑ and ↓. Also suggests SAVE system function.
[153]
Oates, Richard H. Iota Flow with Direct Local Functions. APLQQ v11#3, 9-17, March 1981. (CS, DDf)Describes the use of a forking function and directly defined local functions to improve program structure.
[154]
O'Dell, Michael D. APL/XAD: An Extension of APL for Abstract Data Manipulation. APL6, 405-413.
[155]
Orgass, Richard J. The 1E6?1E6 APL Workshop: Another Overview. APLQQ v8#2, 8-1, Dec. 1977. (NA, Nam)Describes nested arrays as both too general and too restricted a solution to APL's data structure problem. Also gives a description of namespaces.
[156]
Orth, Donald A. A User's View of General Arrays. IBM Research Report #RC 8782, IBM Corp., Apr., 1981. (Ops, NA)Examines the utility of adding nested arrays to APL (using either the grounded or floating systems) and concludes that they may be undesirable in the language.
[157]
Orth, Donald A. A Comparison of the IPSA and STSC Implementations of Operators and Nested Arrays. APLQQ v12#2, 11-18, Dec. 1981.
[158]
Penfield, Paul Jr. Proposed Notation and Implementation for Derivatives in APL. APL V, 12-1-12-5. (Ops)
[159]
Penfield, Paul Jr. APL Symbols. APLQQ v6#1, Spring 1975.Discusses aesthetic choices in picking overstruck symbols; suggests several symbols and names for them.
[160]
Penfield, Paul Jr. Notation for Complex "Part" Functions. APLQQ v8#1, Sep. 1977. (Cpx, PrF)Presents 5 proposals for notation of real, imaginary (parts), magnitude and phase functions. Prefers the circular function proposal.
[161]
Penfield, Paul Jr. Extension of APL Primitives to the Complex Domain. APLQQ v8#2, Dec. 1977. (Cpx, PrF)Second in a series of articles on extension of APL to the complex domain.
[162]
Penfield, Paul Jr. Design Choices for Complex APL. APLQQ v8#3, 8-15, March 1978. (Cpx, PrF)Third paper in a series; covers miscellaneous issues (notation, polar form, default interpreter, etc.).
[163]
Penfield, Paul Jr. Complex APL - Comments from the Community. APLQQ v9#1, 6-10, Sept. 1978. (Cpx, PrF)Reviews comments received in reply to the author's series of papers on complex number extensions to APL {151-153}.
[164]
Penfield, Paul Jr. Proposal for a Complex APL. APL79, 47-53. (Cpx, PrF)Culmination of the author's explorations into a complex number extension.
[165]
Penfield, Paul Jr. Principle Values and Branch Cuts in Complex APL. APL81, 248-256. (Cpx, PrF)Presents choices for values of complex functions where such values are ill-defined or non-unique.
[166]
Pesch, Roland H. Indexing and Indexed Replacement. APL81, 258-261. (Idx, NA)Proposes an indexing operator for use with nested array indices; monadic and dyadic derived functions provide for both selection and replacement.
[167]
Puckett, Thomas H. Improved Security in APL Applications Packages. APL6, 438-441.
[168]
Puckett, Thomas H. New Mexico State University Enhancements to APL\360. APLQQ v4#2, Jan. 1973. (EvT, SCF)Describes an implementation of an event trapping facility and an execute function extended to act on system commands.
[169]
Reeves, A. P.; J. Besemer. Special Control Structures for APL. APLQQ v9#2, 23-31, Dec. 1978. (CS)Derives several control structure patterns using new function-like control facilities.
[170]
Robichaud, Louis P. A. *\APL, An Extensible APL System. Centre de Traitement de L'Information, Universite Laval, Quebec, August 1977.
[171]
Ryan, James. Generalized Lists and Other Extensions. APLQQ v3#1, June 1971.
[172]
Ryan, James. Name Contexts. Minnow2. (Nam) Mentions the name context idea for generalizing access to named objects and its facilities for scope control and data sharing.
[173]
Samson, Denis; Yves Ouellet. Convivial Error Recovery. APL81, 271-279. (EvT)Surveys various facilities for event control, noting common qualities and generalizing these. Describes an implementation based on these findings.
[174]
Sarachik, P. E.; Ü. Özgüner. An APL Algorithm for Finding the Generalized Inverse of a Matrix. APLQQ v9#3, 39-43, March 1979.
[175]
Schmidt, Fleming; Michael A. Jenkins. Array Diagrams and the NIAL Approach. QUTR. 81-131 Nov. 1981. (AT, NA, Fmt)Describes and discusses a scheme for displaying nested arrays in both sketched and fully formatted forms.
[176]
Seeds, Glen M. APL Character Mnemonics. APLQQ v5#2, Fall 1974.Suggests ANSI FORTRAN symbol equivalents for all APL characters.
[177]
Seeds, Glen M. Fuzzy Floor and Ceiling. APLQQ v5#4, Winter 1974. (CT, PrF)Suggests changes to definitions of tolerant definitions of floor and ceiling.
[178]
Seeds, Glen M.; A. Arpin. A Numeric-Controlled Formatter. APL76, 388-391. (Fmt)Describes a formatting function with numeric controls for width, precision and format type.
[179]
Seeds, Glen M.; A. Arpin.; M. LeBarre. Name Scope Control in APL Defined Functions. APLQQ v8#4, June 1978. (Nam)Proposes a scheme for specifying 5 types of name scope and proves the exhaustiveness of this set in a general situation.
[180]
Seeds, Glen M. Tolerant Representation. APLQQ v11#2, 15, Dec. 1980. (CT, PrF)Motivates and describes a tolerant version of the representation (encode) primitive.
[181]
Shallit, Jeffery O. Infinite Arrays and Diagonalization. APL81, 281-285.Discusses applications of infinite arrays in programming and exposition. Defines 2 diagonalization functions and discusses their implementation.
[182]
Shastry, S. K. A Generalized APL Shared Variable System. APL75.
[183]
Singleton, Sheila M. An Investigation of More's Array Theory. QUTR #80-99, April 1980.Describes More's Array Theory and demonstrates that there is no translation of the floating system into grounded terms which can preserve the elegance and simplicity of the former.
[184]
Smith, Bob. A Programming Technique for Non-Rectangular Data. APL79, 362-369. (Prt, Ops)Gives motivations, definition and applications for a partitioning operator for non-nested arrays. APL functions for simulating the operator are also presented.
[185]
Smith, Bob. Nested Arrays: The Tool for the Future. APL In Practice, Wiley, 1980. (NA, Ops, PrF)Brief, non-technical discussion of motivations and advantages of nested arrays.
[186]
Smith, Bob. Nested Arrays, Operators and Functions. APL81, 286-290. (NA, Ops, PrF)Describes some features and applications of STSC Inc.'s experimental NARS system.
[187]
Smith, Bob. NARSNEWS Supplements to NARS Reference Manual. Available through STSC Inc.'s NARS system.Describes extensions and modifications made to STSC Inc.'s NARS system since the publication of the reference manual, including new composition operators, modify assignment, new types of indexing, etc.
[188]
Smith, Howard J. Jr. Sorting - A New/Old Problem. APL79, 123-127. (Srt, PrF)Discusses history of alphabetic sorting and presents APL functions which generalize the grade functions to allow higher rank arrays and specification of complex collating sequences.
[189]
Soop, Karl. Thoughts on Sets in APL. APLQQ v11#1, 10, Sep. 1980. (Set, PrF)Describes a representation for sets in APL and functions defined on such sets.
[190]
Sykes, Roy. Multi-Rank Grade. Asilomar. (Srt)Discusses extension of grade functions to higher rank arrays by grading subarrays as composite values.
[191]
Thompson, Norman D. Some Geometrical Consequences of Complex APL. APL80, 137-142.
[192]
Vasseur, J. P. Extension of APL Operators to Tree-like Structures. APL73, 457-464.
[193]
Wells, J. M. Quad Functions in APL\360. APLQQ v6#1, 38, Spring 1975. (IO)Asks if quad input should not be evaluated in a global naming environment, as opposed to the current local environment.
[194]
Wheeler, James G. Improved Sharing of APL Workspaces and Libraries. APL 81, 327-334. (Nam, SCF)Discusses a re-design of APL workspaces and libraries to allow sharing and access control, and an expanded set of system functions with which to manipulate them.
[195]
Wiedmann, Clark. APL Problems with Order of Execution. APLQQ v8#3, 25-29, March 1978.Raises some questions about APL order of execution and suggests the adoption of a consistent set of rules.
[196]
Wiedmann, Clark. Whither (Wither?) Control Structures? APLQQ v9#2, 21-22, Dec. 1978. (CS)Suggests that control structures may be unnecessary and undesirable in APL.
[197]
Wiedmann, Clark. APLUM Reference Manual. Control Data Corp., Sep. 1979.
[198]
Wilhelmi, G. Formal Differentiation Using APL. APLV, 11-1-11-9.
[199]
N-Tasks and B-Tasks. SATN-4, Rev. 2, I. P. Sharp Associates, Inc., April 1978. (AEx)Describes SHARP APL facilities for running detached and deferred tasks under program control.
[200]
Package - A New Variable Type. SATN-14, Rev. 2, I. P. Sharp Associates, Inc., August 1978. (Pkg, Nam)Describes SHARP APL package data type used to aggregate named functions and data.
[201]
General Array Systems—A Panel Discussion. APLQQ v12#2, 5-6, Dec. 1981. (NA, Ops)Presents a summary of the panel discussion on nested arrays that was held at APL 81.
[202]
Burroughs APL/700 Users Reference manual. Burroughs Corp., March 1977.
[203]
APLSF Programmer's Reference Manual. Digital Equipment Corporation, Maynard Mass., May 1977.
[204]
APL 1100 Level 7R2 Programmer Reference. Sperry Corp., 1981.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGAPL APL Quote Quad
ACM SIGAPL APL Quote Quad  Volume 13, Issue 1
September 1982
380 pages
ISSN:0163-6006
DOI:10.1145/390006
  • Editors:
  • W. H. Janko,
  • W. Stucky
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 July 1982
Published in SIGAPL Volume 13, Issue 1

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)60
  • Downloads (Last 6 weeks)15
Reflects downloads up to 17 Oct 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