🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.ti.explorer
Article #96

Re: FLAVORS -> CLOS

#96
From: Stephen Nicoud
Date: Tue, 17 Oct 1989 20:37
38 lines
2114 bytes
------- 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
Technical Details
Message-ID: <19891017203741.4.SLN@SKAGIT.atc.boeing.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!ucsd!ucbvax!ATC.BOEING.COM!snicoud

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!ucsd!ucbvax!ATC.BOEING.COM!snicoud
From: snicoud@ATC.BOEING.COM (Stephen Nicoud)
Newsgroups: comp.sys.ti.explorer
Subject: Re: FLAVORS -> CLOS
Message-ID: <19891017203741.4.SLN@SKAGIT.atc.boeing.com>
Date: 17 Oct 89 20:37:00 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Distribution: inet
Organization: The Internet
Lines: 38