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

RE: New CLISP version (and make-instance)



   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