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


    I am implementing a distributed version of CLOS, and I have
some "silly" doubts about some implementation strategies and
techniques. Maybe someone can help me and suggest a solution:

   a) How can I intercept the CL evaluation to use my own
   dispatcher (the CLOS dispatcher, of course)? I thought
   about using eval-hook or apply-hook, but there are some
   problems. For instance, when you are using one of these
   functions and get an error, the interpreter make a throw
   that goes back to the interpreter top-level - and you should
   reinitialize to use the desired eval or apply again.

   b) How can I intercept the printing system to use the CLOS
   one (with "print-object")? We have to take care of two
   major possibilities: calling explicitly one of print, write,
   format, etc.; calling implicitly via the interpreter (in the
   read-eval-print cycle). Although it seems not, the second is
   very important because you have to print un-re-readable strings
   for the CLOS objects (#<...).

   c) How can I create the new versions of typep, type-of, etc.,
   using the older ones? I tried to create a new package and shadow
   the CL ones, but had no success. BTW, I tried the same with
   print, but got nothing also.

   I am using Gold Hill CL in a PC (DOS), with a 386 Humming Board,
but I am trying to find (if possible) implementation-independent
solutions to these problems. If not possible at all, is anyone
aware of a good E-mail contact at Gold Hill I can use to adress this
kind of question?
   If there is anyone interested in discussing my implementation,
it is a pleasure for me, also.

     Andre Valente
     Instituto Tecnologico de Aeronautica, Brazil