[comp.sys.ti.explorer] FLAVORS -> CLOS

snicoud@ATC.BOEING.COM (Stephen Nicoud) (10/17/89)

Now that most Lisp vendors will soon be releasing their own versions of
CLOS, we will be faced with the task of converting our current systems
(using Flavors) to CLOS.  We've identified several items which will need
attention, but we're looking for any additional issues which we have not
addressed.

My question is, what advice can you give us about moving code from
FLAVORS (on Symbolics, Explorer, and Sun/Lucid) to CLOS?  What are the
"gotchas" we need to look out for?  What are the neat tricks to
converting?  What's the appropriate implemenation "style" to maintain?

Thanks for your ideas,

Steve Nicoud	<snicoud@atc.boeing.com>

Cassels@STONY-BROOK.SCRC.SYMBOLICS.COM (Robert A. Cassels) (10/17/89)

    Date: Mon, 16 Oct 89 17:46 PDT
    From: Stephen Nicoud <snicoud@atc.boeing.com>

    Now that most Lisp vendors will soon be releasing their own versions of
    CLOS, we will be faced with the task of converting our current systems
    (using Flavors) to CLOS.  We've identified several items which will need
    attention, but we're looking for any additional issues which we have not
    addressed.

    My question is, what advice can you give us about moving code from
    FLAVORS (on Symbolics, Explorer, and Sun/Lucid) to CLOS?  What are the
    "gotchas" we need to look out for?  What are the neat tricks to
    converting?  What's the appropriate implemenation "style" to maintain?

The document "Getting Ready for CLOS" is a good place to start.  Copies
are available through your local Symbolics sales office.

    Thanks for your ideas,

    Steve Nicoud	<snicoud@atc.boeing.com>

snicoud@ATC.BOEING.COM (Stephen Nicoud) (10/18/89)

------- Forwarded Message
Sender: GRAY@Kelvin.csc.ti.com.ARPANET
Date: Tue, 17 Oct 89 09:45 PDT
From: David N Gray <Gray@DSG.csc.ti.com.ARPANET>
To: Stephen Nicoud <snicoud@atc.boeing.com>
cc: CommonLoops.pa@Xerox.COM.ARPANET
Subject: Re: FLAVORS -> CLOS
In-Reply-To: Msg of Mon, 16 Oct 89 17:47 PDT from Stephen Nicoud <snicoud@atc.boeing.com>

> My question is, what advice can you give us about moving code from
> FLAVORS (on Symbolics, Explorer, and Sun/Lucid) to CLOS?  What are the
> "gotchas" we need to look out for?  What are the neat tricks to
> converting?  What's the appropriate implemenation "style" to maintain?

There is a utility shipped with Explorer release 6.0 that can help with
conversion by converting DEFFLAVOR, DEFMETHOD, SEND, etc. into their CLOS
equivalents.  See file "SYS:PUBLIC.Z-TO-C-TRANSLATOR;-READ-ME-.TEXT" for
information.

Some of the problems I have encountered that require manual recoding after
the mechanical translation are:

 * Use of special variable SELF outside a method.

 * Methods with argument lists that CLOS does not consider congruent.
   With Flavors, it is common for before or after methods to use &REST
   IGNORE to disregard irrelevant arguments, but CLOS requires enumerating
   the arguments the same on every method.

 * Use of the same message name with different arguments lists for
   different flavors.

 * Use of operations :WHICH-OPERATIONS, :OPERATION-HANDLED-P, and
   :SEND-IF-HANDLES, which don't have a direct correspondence in CLOS.
   These require some redesign of the program, typically by defining a
   default method to do whatever you want to do if the operation isn't
   handled.
------- End of Forwarded Message