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

SCOOPS problems

Having used X-Lisp for a while, I moved over to TI-Scoops.  There are
two very annoying defects in that implementation of OOP.

1) SCOOPS objects don't have a SELF instance variable.  I had to get
   around this by redefininng SEND to do a FLUID-LET on the symbol
   SELF before sending the message, but this is both ugly and slow.

2) There is no SEND-SUPER primitive - this means that super-classes
   methods must be completely overridden, rather than extended which
   removes a lot of the benefits of having inheritance in the first 

A slightly less annoying feature is that the arguments to SEND are evaluated
in the environment of the object begin sent-to rather than in the calling
environment i.e.
(let ((a 1))
  (send an-object (+ a 1)))
will bomb-out due to 'a' not being defined in an-object's environment.

Has anybody got good solutions to the above?

Donal O'Mahony        omahony@cs.tcd.ie
Computer Science Dept., Trinity College, Dublin 2, Ireland