[Ecls-list] Latest changes
Juan Jose Garcia-Ripoll
worm at arrakis.es
Mon Dec 15 01:19:01 UTC 2003
Here are the latest things committed to CVS:
+ Julian Stecklina's patch to fix a problem with FORMAT.
+ The class reinitialization and redefinition protocol. It is now possible to
redefine classes and to make instances obsolete. A sample session follows.
+ It is now possible to define a class with a superclass that has not yet been
defined. These FORWARD-REFERENCED-CLASSES are automatically handled by the
system, and they are converted to normal classes when the user supplies the
right definition. Another sample session follows.
+ Fixes in many integer routines including GCD, LCM and LOGBITP.
Best regards,
Juanjo
------------------------------------------------------------
[SESSION 1: Class redefinition]
> (defvar *class1* (defclass faa () (a b c)))
*CLASS1*
Top level.
> (setf *a* (make-instance 'faa))
#<a FAA>
Top level.
> (setf (slot-value *a* 'a) 2 (slot-value *a* 'b) 3)
3
Top level.
> (defvar *class2* (defclass faa () (c b)))
;;; Warning: Redefining class FAA
*CLASS2*
Top level.
> (slot-value *a* 'b)
3
Top level.
> (slot-exists-p *a* 'a)
NIL
Top level.
> (eq *class1* *class2*)
T
Top level.
------------------------------------------------------------
[SESSION 2: Forward referenced classes]
> (defclass faa (foo) (b c))
;;; Warning: Class FOO has been forward referenced.
#<The STANDARD-CLASS FAA>
Top level.
> (defclass foo () (a))
;;; Warning: Redefining class FOO
;;; Warning: Redefining class FAA
#<The STANDARD-CLASS FOO>
Top level.
> (make-instance 'faa)
#<a FAA>
Top level.
> (slot-exists-p * 'a)
T
Top level.
More information about the ecl-devel
mailing list