[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.
- 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