[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

OOP without EVAL

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

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