[Ecls-list] Latest changes in CVS

Juan Jose Garcia-Ripoll worm at arrakis.es
Wed Jun 25 08:04:07 UTC 2003


just for those who keep up to date with the CVS, I am introducing now changes 
in CLOS. My goal will be to add enough support of the Metaobject protocol 
from "The AMOP", to make it useful to people.

Since this is likely to enlarge the core of ECL, I want to make it a 
configure-time option. At the same time, I will be looking for places where I 
can remove flexibility from the system to make it simpler. There are also 
many places where we can gain speed and space. For instance, without an AMOP, 
it makes no sense to have generic SLOT-VALUE/BOUNDP/...,  And the current 
generic function dispatch is too complicated, for a system which only 
supports standard method combinations.

Best regards,


Latest changes:

- The bootstrap of CLOS is now done entirely in LISP (src/clos/boot.lsp). 
There is no need to define classes for CLASS, STANDARD-CLASS, etc.

- Minor fixes in the prototypes of some functions (ALLOCATE-INSTANCE, 

- The set of valid keyword arguments for a method depends on the applicable
methods for each specific call. Thus, the associated LAMBDA forms need not
check the consistency of arguments themselves, and may be declared with
&allow-other-keys. With the new code, this is valid:
	(defmethod foo (&key b) ...)
	(defmethod foo :after (&key x) ...)
but an invalid call (FOO :C 2) is undetected.

More information about the ecl-devel mailing list