Ellie: a general, fine-grained, first-class, object-based language

This paper presents the general-purpose programming language Ellie. Ellie supports fine-grained objects and parallelism. As something particular, classes, types, blocks, and methods are all abstracted by first class objects. The main goal of Ellie has been to obtain a very flexible, machine independent, parallel programming language. Ellie tries to meet these goals by extensive usage of few selected programming language concepts combined with compile-time analysis in order to adapt programs for efficient execution on actual hardware. Ellie runs on a parallel transputer network. This paper concentrates on the generality of the language that makes it extraordinary flexible and extensible.

[1]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[2]  Akinori Yonezawa,et al.  Object-oriented concurrent programming ABCL/1 , 1986, OOPLSA '86.

[3]  Birger Andersen,et al.  Ellie language definition report , 1990, SIGP.

[4]  Scott Danforth,et al.  Type theories and object-oriented programmimg , 1988, CSUR.

[5]  Birger Andersen,et al.  Fine-grained parallelism in Ellie , 1992 .

[6]  Adele Goldberg,et al.  SmallTalk 80: The Language , 1989 .

[7]  Larry Carter,et al.  Distrbution and Abstract Types in Emerald , 1987, IEEE Transactions on Software Engineering.

[8]  Van Nguyen,et al.  A Model for Object-Based Inheritance , 1987, Research Directions in Object-Oriented Programming.

[9]  Alan J. Demers,et al.  Data types are values , 1985, ACM Trans. Program. Lang. Syst..

[10]  Bent Bruun Kristensen,et al.  The BETA Programming Language , 1987, Research Directions in Object-Oriented Programming.

[11]  Roy H. Campbell,et al.  The specification of process synchronization by path expressions , 1974, Symposium on Operating Systems.

[12]  Andrew P. Black,et al.  Emerald: A general‐purpose programming language , 1990, Softw. Pract. Exp..

[13]  Gail E. Kaiser,et al.  MELDing Multiple Granularities of Parallelism , 1989, ECOOP.

[14]  Ole Lehrmann Madsen,et al.  Block structure and object oriented languages , 1986, OOPWORK '86.

[15]  O. J. Dahl,et al.  Simula Begin , 1979 .

[16]  Norman C. Hutchinson,et al.  EMERALD: An object-based language for distributed programming , 1987 .

[17]  David A. Watt,et al.  Programming language concepts and paradigms , 1990, Prentice Hall International Series in Computer Science.

[18]  Randall B. Smith,et al.  SELF: The power of simplicity , 1987, OOPSLA '87.

[19]  William C. Athas,et al.  Fine Grain Concurrent Computations , 1987 .

[20]  Carl Hewitt,et al.  Actors: A Conceptual Foundation for Concurrent Object-Oriented Programming , 1987, Research Directions in Object-Oriented Programming.

[21]  Michel Riveill,et al.  Design and implementation of an object-oriented strongly typed language for distributed applications , 1990 .