DEFTYPE-KEYOPTIONAL and &REST as allowed lambda-list keywords in DEFTYPE. It doesn't say whether &KEY is allowed too.
This is Symbolics issue #18.
OPTIONAL, &REST, &KEY, &ALLOW-OTHER-KEYS, and &AUX in the lambda-list of DEFTYPE.
Clarify that unsupplied keyword arguments default to *, not NIL, the same as unsupplied optional arguments, if no initform is specified in the lambda-list. &AUX parameters are initialized to NIL if no initform is specified.
(check-type z (xarray :rank 2 :element-type double-float))
(define-presentation-type command (&key (command-table *command-table*)) ....)
define-presentation-type is similar to deftype but defines some additional information about use of the type in user interfaces.
CLIM and CLIM-based applications.
&AUX is allowed just for completeness.
KEY not allowed) for this example. Franz Allegro CL 3.1.beta.22 supports the proposal. Other implementations were not surveyed.DEFTYPE support the same lambda-list keywords as DEFUN and LAMBDA (which suggests an implementation technique of inserting '* where an initform is not specified for an &optional or &keyword argument and then making a function that is applied to the cdr of the type specifier).CLIM will not fit into Common Lisp as well. DEFTYPE will be less consistent with the rest of the language.DEFTYPE will be consistent with DEFUN, eliminating an arbitrary restriction.DEFTYPE supports destructuring. It seems that CLtL pages 50 and 146 may contradict each other on this point. This issue explicitly does not address the question of destructuring.