will@uoregon.uoregon.edu (William Clinger) (06/03/89)
In article <8905302120.aa01439@mintaka.lcs.mit.edu> V4110DAA@AWIUNI11.BITNET (Gerhard Eckel) writes: > Is it possible to design an object-oriented layer which implements the >concepts of classes, inheritance and polymorphism in pure Scheme? Yes. For it to be convenient, though, you probably need some kind of macro facility. For it to be efficient, you probably need a little help from your compiler. See the paper by Adams & Rees in LFP '88. > ... Something >like Scoops seems to be impossible to build without functions like EVAL and >THE-ENVIRONMENT. I don't know whether that's true or not, but it is certainly true that you can design an object system in such a way that it can't reasonably be implemented without something resembling EVAL. The fact that you can design such a system doesn't mean that it's a good idea to do it. Object systems that don't require EVAL have some substantial advantages over those that do; one of the main advantages is that you can write object-oriented programs that can run without a complete run-time library and an interpreter or compiler. I don't know of any reasons why an object system that requires EVAL would have an inherent advantage over one that does not. Peace, Will