An object oriented extension to APL

This paper describes an object oriented extension of APL, which is currently being implemented in a new APL system. This extension is integrated in a rather conservative way to APL. However, all the paradigms of object oriented languages (message passing, instance variables, methods, classes and inheritance) are made available to the user, without losing any of the successful features of APL. The paper first explains what are the interests of object oriented programming, and what is expected from this introduction in the language. It then discusses syntactic and semantic choices, and shows how the selected solutions fit the philosophy of APL. An example of this new style of programming in APL is proposed, then the internals of the implementation are presented, showing that this new possibility is made available at the cost of a minimal system overhead. Finally, the paper discusses about the results obtained so far.

[1]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[2]  M. A. Jenkins,et al.  The APL identity crisis , 1981, APL '81.

[3]  A. Snyder CommonObjects: an overview , 1986, OOPWORK '86.

[4]  Alan Snyder CommonObjects: object-oriented programming in Common Lisp , 1986 .

[5]  Karl Soop Can an APL workspace be used as a data base , 1984 .

[6]  A. Hassitt,et al.  Array theory in an APL environment , 1979, APL '79.

[7]  Ronald C. Murray Namespaces semipermeable membranes for APL applications , 1981, APL '81.

[8]  Alan Snyder,et al.  CommonObjects: an overview , 1986, OOPWORK '86.

[9]  Jean-Jacques Girardot The APL 90 project: new directions in APL interpreters technology , 1985, APL '85.

[10]  Karl Soop Can an APL workspace be used as a data base? , 1984, APL '84.

[11]  Trenchard More The nested rectangular array as a model of data , 1979 .

[12]  A. Hassitt,et al.  Array theory in an APL environment , 1979 .

[13]  M. A. Jenkins A development system for testing array theory concepts , 1981, APL '81.

[14]  James A. Brown Evaluating extensions to APL , 1979 .

[15]  Trenchard More The nested rectangular array as a model of data , 1979, APL '79.

[16]  James T. Kajiya Designing and implementing an array theory incorporating abstract datatypes , 1983 .

[17]  Adele Goldberg,et al.  Smalltalk-80 - the interactive programming environment , 1984 .

[18]  Alan Snyder Encapsulation and inheritance in object-oriented programming languages , 1986, OOPSLA 1986.

[19]  David A. Moon Object-oriented programming with flavors , 1986, OOPSLA 1986.