[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
EW under Apollo Domain Lisp
Date: Mon, 21 May 90 14:28 EDT
From: davel@whutt.att.com
We are attempting to compile EW under Apollo's Domain/Common Lisp
(a product of Lucid) with CLOS and CLX. We have been hung up on the
file io-functions.lisp because:
1. It appears to redefine standard lisp functions, and *then* call
the function (setup-lisp-functions) which is designed to take care of
saving away the old version of the functions.
2. It uses pcl internals to handle type checking instead of CLOS
functions. Simply adding (IN-PACKAGE 'CLOS :NICKNAMES '(PCL))
to the system file doesn't solve the problem.
The problem is in the definition of type-of. PCL appears to not allow
the use of type-of to find the type of a class so EW does one of
it's little substitution tricks to redirect this call to the right PCL
call. (typep pcl::standard-class-p <object>) Unfortunatley this function
does not exist in CLOS. Fortunatley CLOS can use type-of to return the
type of a class. Use #-clos to switch out the defintion of type-of in
type.lisp, the references to type-of in *functions-shadowed* in
io-functions.lisp and *common-lisp-functins-shadowed* [or something] in
symbols.lisp. This will then prevent shadowing type-of in the package
EW when CLOS is loaded.
This assumes that no one has :clos in their *features* unless they really
have CLOS and not just PCL.
Does anyone have a version of EW which compiles correctly on
a CLOS, CLX, and CLtL2 version of Common Lisp?
David Loewenstern
AT&T Bell Laboratories
14B-253
Whippany, NJ 07981
email: davel@whutt.att.com || whutt!davel
at&t: 201-386-6516
Peter T. Magee
44 71 356 3524