Abstract:
The Common Lisp Object System defines a powerful and flexible type system that builds on more than fifteen years of experience with object-oriented programming. Most current implementations include a comfortable suite of Lisp support tools including an Emacs Lisp editor, an interpreter, an incremental compiler, a debugger, and an inspector that together promote rapid prototyping and design. What else might one want from a system? We argue that static typing yields earlier error detection, greater robustness, and higher efficiency and that greater simplicity and more orthogonality in the language constructs leads to a shorter learning curve and more intuitive programming. These elements can be found in Eiffel and a new object-oriented language, Sather, that we are developing at ICSI. Language simplicity and static typing are not for free, though. Programmers have to pay with loss of polymorphism and flexibility in prototyping. We give a short comparison of CLOS, Eiffel and Sather, addressing both language and environment issues.
Citations
|
243
|
Garbage collection in an uncooperative environment
– Boehm, Weiser
- 1988
|
|
101
|
A proposal to make Eiffel typesafe
– Cook
- 1989
|
|
94
|
Systematic Concurrent ObjectOriented Programming
– Meyer
- 1993
|
|
73
|
Common LISP: The Language
– Jr
- 1984
|
|
47
|
Order-Sorted Equational Computation
– Smolka, Nutt, et al.
- 1989
|
|
33
|
The Sather language
– Omohundro
- 1992
|
|
28
|
Fast Dispatch Mechanisms for Stock Hardware
– Rose
- 1988
|
|
13
|
The Common Lisp object-oriented programming language standard
– Moon
- 1989
|
|
7
|
A language extension for controlling access to shared data
– JONES, LISKOV
- 1976
|
|
3
|
D.: Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches
– Hoelzle, Chamber, et al.
- 1993
|
|
2
|
Multiple Inheritance in CLOS
– Keene
- 1990
|
|
2
|
Architecture and Functionality of a Specification Environment for Distributed Software
– Kramer, Schmidt
- 1990
|
|
1
|
A Semantics of Multiple Inheritance" in Kahn ct al (cds): Semantics of Data Types
– Cardelli
- 1984
|
|
1
|
Basic polymorphic type checking", Science of Uomputc' Pog'amming 8
– Cardclli
|
|
1
|
An efficient implementation of SELF, a dymically-typed object-oriented language based on prototypes
– Chambers, Ungar, et al.
- 1989
|
|
1
|
Winskel: "Domain Theoretic Models of Polymorphism
– Coquand, Gunter, et al.
- 1989
|
|
1
|
Objcct-o'icntcd P'og'amming in Common Lisp
– Keene
- 1989
|
|
1
|
des Rivieres and D.G. Bobrow: The A't of the Mctaobjcct Potocol
– Kiczales, J
|
|
1
|
Objcct-o'icntcd Softwa'c C'onst'uction
– Meyer
- 1988
|
|
1
|
Gomes: ICSlM An Objcct-Oicntcd Conncctionist Simulato
– Schmidt, B
- 1991
|
|
1
|
Bilmes: "Exception Handling in pSather
– Schmidt, J
- 1991
|