Commit dd67dc78 authored by Pascal Costanza's avatar Pascal Costanza
Browse files

Checked against Allegro 8.2 - compute-default-initargs is now AMOP-compliant,...

Checked against Allegro 8.2 - compute-default-initargs is now AMOP-compliant, apart from that no changes.

Ignore-this: 4958dd8d2c37d456faa1123f17bc8ec6

darcs-hash:16911f14dd9e6a0a35fb29ccdbbcfb996e31ebd3
parent 9e50b689
......@@ -34,6 +34,41 @@
(:subclasses-of-standard-writer-method-do-not-inherit-exported-slots)
(:t-is-always-a-valid-superclass))
:allegro8.2
((:class-default-initargs)
(:class-direct-default-initargs)
(:default-superclass-for-funcallable-standard-class-is-funcallable-standard-object)
(:defgeneric-calls-find-method-combination)
(:defmethod-calls-make-method-lambda fixed)
(:dependent-protocol-for-generic-functions fixed)
(:extensible-allocation fixed)
(:function-invocation-calls-compute-applicable-methods fixed)
(:function-invocation-calls-compute-applicable-methods-using-classes fixed)
(:function-invocation-calls-compute-effective-method fixed)
(:generic-function-argument-precedence-order-returns-required-arguments fixed)
(:make-method-lambda fixed)
(:method-functions-take-processed-parameters fixed)
(:method-lambdas-are-processed fixed)
(:reinitialize-instance-calls-compute-discriminating-function fixed)
(:setf-class-name-calls-reinitialize-instance)
(:setf-generic-function-name-calls-reinitialize-instance)
(:slot-makunbound-using-class-specialized-on-slot-definition fixed)
(:standard-class-and-funcallable-standard-class-are-compatible)
(:subclasses-of-built-in-class-do-not-inherit-exported-slots)
(:subclasses-of-forward-referenced-class-do-not-inherit-exported-slots)
(:subclasses-of-funcallable-standard-class-do-not-inherit-exported-slots)
(:subclasses-of-method-combination-do-not-inherit-exported-slots)
(:subclasses-of-standard-accessor-method-do-not-inherit-exported-slots)
(:subclasses-of-standard-class-do-not-inherit-exported-slots)
(:subclasses-of-standard-direct-slot-definition-do-not-inherit-exported-slots)
(:subclasses-of-standard-effective-slot-definition-do-not-inherit-exported-slots)
(:subclasses-of-standard-generic-function-do-not-inherit-exported-slots)
(:subclasses-of-standard-method-do-not-inherit-exported-slots)
(:subclasses-of-standard-reader-method-do-not-inherit-exported-slots)
(:subclasses-of-standard-slot-definition-do-not-inherit-exported-slots)
(:subclasses-of-standard-writer-method-do-not-inherit-exported-slots)
(:t-is-always-a-valid-superclass))
:clisp2.48
((:accessor-method-initialized-with-function)
(:add-method-calls-compute-discriminating-function)
......
......@@ -20,6 +20,25 @@ Allegro Common Lisp 8.1
- VALIDATE-SUPERCLASS doesn't recognize T as a valid superclass. Not fixed.
- Subclasses of BUILT-IN-CLASS, FORWARD-REFERENCED-CLASS, FUNCALLABLE-STANDARD-CLASS, METHOD-COMBINATION, STANDARD-ACCESSOR-METHOD, STANDARD-CLASS, STANDARD-DIRECT-SLOT-DEFINITION, STANDARD-EFFECTIVE-SLOT-DEFINITION, STANDARD-GENERIC-FUNCTION, STANDARD-METHOD, STANDARD-READER-METHOD, STANDARD-SLOT-DEFINITION and STANDARD-WRITER-METHOD will inherit slots whose names are exported symbols and/or accessible in the package common-lisp-user. Not fixed.
Allegro Common Lisp 8.2
- CLASS-DIRECT-DEFAULT-INITARGS and CLASS-DEFAULT-INITARGS don't return canonicalized default initargs as specified. Not fixed.
- FUNCALLABLE-STANDARD-OBJECT is not used as the default superclass for classes with :metaclass FUNCALLABLE-STANDARD-CLASS.
- DEFGENERIC does not call FIND-METHOD-COMBINATION. Not fixed.
- DEFMETHOD doesn't call MAKE-METHOD-LAMBDA. Fixed.
- The dependent protocol for generic functions doesn't work fully. Fixed.
- GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER doesn't return only the required arguments. Fixed.
- The function invocation protocol doesn't call COMPUTE-APPLICABLE-METHODS, COMPUTE-APPLICABLE-METHODS-USING-CLASSES and COMPUTE-EFFECTIVE-METHOD. Fixed.
- The :ALLOCATION type cannot be extended. Fixed.
- MAKE-METHOD-LAMBDA is not provided. Fixed.
- Method functions don't take parameters as specified in AMOP, but instead just the parameters that the generic function receives. Fixed.
- REINITIALIZE-INSTANCE doesn't determine a new discriminating function. Fixed.
- (SETF CLASS-NAME) and (SETF GENERIC-FUNCTION-NAME) do not use REINITIALIZE-INSTANCE for changing the names. Not fixed.
- SLOT-MAKUNBOUND-USING-CLASS is not specialized on slot definition metaobjects, but on symbols. Fixed.
- STANDARD-CLASS and FUNCALLABLE-STANDARD-CLASS are not compatible. Not fixed.
- VALIDATE-SUPERCLASS doesn't recognize T as a valid superclass. Not fixed.
- Subclasses of BUILT-IN-CLASS, FORWARD-REFERENCED-CLASS, FUNCALLABLE-STANDARD-CLASS, METHOD-COMBINATION, STANDARD-ACCESSOR-METHOD, STANDARD-CLASS, STANDARD-DIRECT-SLOT-DEFINITION, STANDARD-EFFECTIVE-SLOT-DEFINITION, STANDARD-GENERIC-FUNCTION, STANDARD-METHOD, STANDARD-READER-METHOD, STANDARD-SLOT-DEFINITION and STANDARD-WRITER-METHOD will inherit slots whose names are exported symbols and/or accessible in the package common-lisp-user. Not fixed.
CLisp 2.48
- Methods are not initialized with :function. Not fixed.
......@@ -168,7 +187,7 @@ SCL 1.3.9
Some extra notes:
- If you specialize COMPUTE-DEFAULT-INITAGS, conditionalize for the extra parameters in Allegro Common Lisp.
- If you specialize COMPUTE-DEFAULT-INITAGS, conditionalize for the extra parameters in Allegro before Allegro Common Lisp 8.2.
- Don't rely on FIND-METHOD-COMBINATION to do its job correctly, only when you don't provide method combination options.
- MAKE-METHOD-LAMBDA works in Allegro, CLisp, Clozure Common Lisp, CMUCL, LispWorks and SBCL as specified (but make sure that the respective generic function and method metaobject classes and make-method-lambda definitions are part of your compilation enviroment).
- Specialize the methods for the dependent protocol on the class or generic function metaobject class. The example in AMOP doesn't do this but that is fragile code.
......
Allegro 8.1
Allegro 8.1, 8.2
CLisp 2.48
Clozure Common Lisp 1.4
CMU Common Lisp 20a
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment