[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: New CLISP version (and make-instance)
- To: clisp-list@ma2s2.mathematik.uni-karlsruhe.de
- Subject: RE: New CLISP version (and make-instance)
- From: egdorf@zaphod.lanl.gov (Skip Egdorf)
- Date: Tue, 24 Aug 93 10:28:11 MDT
- In-reply-to: Bruno Haible's message of Tue, 24 Aug 93 15:21:18 +0200 <9308241320.AA07145@ma2s2.mathematik.uni-karlsruhe.de>
You may call it a bug. I chose this approach to reduce the costs of calling
MAKE-INSTANCE. For now, it's 1 generic function call and dispatch and 2
built-in function calls. If MAKE-INSTANCE is required to go through
INITIALIZE-INSTANCE and SHARED-INITIALIZE, the costs will be at least 3 GF
calls and about 10 other function calls. Unless I do some ugly hacks,
modifying #'MAKE-INSTANCE every time a method is added to
#'INITIALIZE-INSTANCE or #'SHARED-INITIALIZE.
What is common practice in CLOS programs? Are methods for INITIALIZE-INSTANCE
frequent or not? What about methods for SHARED-INITIALIZE ?
One data point: Yes, frequent to both!
If make-instance does not call initialize-instance as described in the
spec, it will not work for ANY CLOS programs in my current suite.
Modifying the behaviour of initialize-instance and shared-initialize
is a very basic mechanism used throughout every CLOS program of which
I am aware.
Sorry Bruno, that is probably not the answer you wanted to hear...
Skip Egdorf
hwe@lanl.gov