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

Re: ObjectLisp => Clos



[distribution reduced]

> Date: Fri, 18 Jan 91 17:11:31 -0500
> From: Alice Hartley <alice>
> To: info-macl
> 
>       Date: Fri, 18 Jan 91 14:31:19 cst
>       From: george@huntsai.boeing.com (George Williams)
> 
>       While we're on the subject of converting from ObjectLisp to CLOS, how
>       about writing some FRED code which handles [semi?]automatically the
>       syntactic conversion from "(ask ...)" forms to CLOS generic function
>       calls?  This could also handle much of the conversion for other
>       ObjectLisp constructs such as "defobject" to "defclass" etc.
> 
>    We will provide FRED code for defobfun=>defmethod. There is also an
>    Appendix in the 2.0 manual that describes the conversion process and
>    includes an example of  the conversion. 2.0 is currently in alpha test.
>    Some testers have said the conversion is no picnic but none have
>    complained bitterly. Many large programs have been successfully
>    converted. (Do you remember Symbolics Genera 7.0?)

In Genera 7.0 we provided a source code conversion tool that fully converted old
Flavors to new Flavors, and also made the compiler accept old Flavors syntax
with a warning.  That worked pretty well (the conversion problems with 7.0 were
in the incompatible changes forced on us by Common Lisp, mainly, not in the object
system).  Such a smooth conversion is probably not possible for OBL->CLOS but
we ought to provide a source code conversion tool similar to what the customer
suggested.  I imagine no resources are budgeted for producing such a tool, though.

The more recent Symbolics source-code conversion tools are based on much "higher"
technology than one is likely to find in MACL.  (Conversions look like defmacros
and the substrate takes care of figuring out what editing to the source text is
required to change the input to the conversion into the output from the conversion,
while preserving comments and (usually) formatting.)  However a simple kludge
written in terms of editor commands ought to be able to automate the more tedious
parts of the procedure described in the manual.