(FILECREATED "12-Oct-86 18:05:49" ("compiled on " {ERIS}SOURCES>CMLTYPES.;11) " 1-Oct-86 20:23:15" "COMPILE-FILEd" in "Xerox Lisp 1-Oct-86 ..." dated " 1-Oct-86 21:24:44") (FILECREATED "12-Oct-86 17:32:11" {ERIS}SOURCES>CMLTYPES.;11 49803 changes to: (FNS ARRAY-TYPE) (VARS CMLTYPESCOMS) (PROPS (GENERAL-ARRAY CMLTYPE) (ONED-ARRAY CMLTYPE) (TWOD-ARRAY CMLTYPE) (CL:ARRAY CMLSUBTYPEDESCRIMINATOR)) (TYPES CL:ARRAY) (FUNCTIONS EQUALP) previous date: "12-Oct-86 15:31:52" {ERIS}SOURCES>CMLTYPES.;9) (RPAQQ CMLTYPESCOMS ((* ;;; "Predicates") (FUNCTIONS CL:EQUAL EQUALP) (* ; "EQL is now in the init") ( * ;;; "Typep and friends") (FUNCTIONS COERCE TYPECASE TYPEP TYPE-OF) (* ;;; "Optimizers") (OPTIMIZERS COERCE FALSE TRUE TYPEP CL:NUMBERP CL:FLOATP) (* ; "Optimize by constant fold and coerce to EQ where possible") (PROP BYTEMACRO CL:EQUAL EQUALP) (* ;;; "for DEFTYPE") (FUNCTIONS DEFTYPE TYPE-EXPANDER SETF-TYPE-EXPANDER) (DEFINE-TYPES TYPES) (SETFS TYPE-EXPANDER) (* ;;; "Support functions") (FNS ARRAY-TYPE FALSE SYMBOL-TYPE TRUE \RANGE.TYPE) ( FUNCTIONS CL:NUMBERP CL:FLOATP) (* ;;; "for SUBTYPEP ") (FUNCTIONS SI::DATATYPE-P SI::SUB-DATATYPE-P SUB-SUBTYPEP SUBTYPEP TYPE-EXPAND HANDLE-TYPE1-META-EXPRESSION HANDLE-TYPE2-META-EXPRESSION) ( VARIABLES %%NO-SUPER-TYPE TYPE-META-EXPRESSIONS) (* ;;; "For TYPEP") (FNS \TYPEP.PRED) (TYPES CL:ATOM BIGNUM BIT CL:CHARACTER CONS DOUBLE-FLOAT FIXNUM FLOAT FUNCTION HASH-TABLE INTEGER KEYWORD LIST LONG-FLOAT CL:MEMBER CL:MOD NULL NUMBER PACKAGE SHORT-FLOAT SIGNED-BYTE STANDARD-CHAR STRING-CHAR SINGLE-FLOAT SYMBOL UNSIGNED-BYTE RATIONAL READTABLE COMMON COMPILED-FUNCTION COMPLEX SEQUENCE) (* ;;; "Array Types") (TYPES CL:ARRAY VECTOR SIMPLE-STRING STRING SIMPLE-ARRAY SIMPLE-VECTOR BIT-VECTOR SIMPLE-BIT-VECTOR) (* ;;; "for TYPE-OF Interlisp types that have different common Lisp names") (PROP CMLTYPE CHARACTER FIXP FLOATP GENERAL-ARRAY LISTP LITATOM ONED-ARRAY SMALLP STRINGP HARRAYP TWOD-ARRAY ) (PROP CMLSUBTYPEDESCRIMINATOR SYMBOL CL:ARRAY) (* ;;; "tell the filepkg what to do with the %"deftype%" property") (COMS (PROP PROPTYPE DEFTYPE)) (* ;;; "Compiler options") (PROP FILETYPE CMLTYPES) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY ( LOCALVARS . T)) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA))))) CL:EQUAL D1 (L (1 Y 0 X)) @A:@1HdAp@A g@A  A U@A Hd 6A A@ YA :5IjJKhii@KAKhiKkԻA @A h(204Q %%PATHNAME-EQUAL 175Q PATHNAMEP 120Q CL:LENGTH 113Q CL:LENGTH 105Q BIT-VECTOR-P 76Q BIT-VECTOR-P 70Q STRING= 61Q CL:STRINGP 54Q CL:STRINGP 50Q CL:EQUAL 37Q CL:EQUAL) (167Q PATHNAME 21Q LISTP) () EQUALP D1 (L (1 Y 0 X))  @A:@ Hd3A3@A A@A x@A HdGAb@ӹlaIhiIlzhiIl ՀIAӺlaJhiJlzhiJl ՀJ A @A HdA @A  9A @ [A :KjLMhi@MAM hihMkԽH RA @ A @ A _@ j__OOhi=NOOO hiOk_@ _A _O dU_i_@ OA nO(562Q EQUALP 557Q FETCHFIELD 551Q FETCHFIELD 526Q GETDESCRIPTORS 512Q TYPENAME 504Q TYPENAME 461Q EQUALP 423Q ARRAY-TOTAL-SIZE 413Q \FLATTEN-ARRAY 407Q \FLATTEN-ARRAY 401Q CL:EQUAL 376Q ARRAY-DIMENSIONS 372Q ARRAY-DIMENSIONS 364Q CL:ARRAYP 356Q CL:ARRAYP 335Q EQUALP 302Q CL:LENGTH 275Q CL:LENGTH 267Q VECTORP 261Q VECTORP 255Q %%PATHNAME-EQUAL 246Q PATHNAMEP 232Q STRING-EQUAL 223Q CL:STRINGP 216Q CL:STRINGP 76Q EQUALP 65Q EQUALP 40Q %%=) (240Q PATHNAME 157Q CHARACTER 121Q CHARACTER 113Q CHARACTER 104Q CHARACTER 44Q LISTP) () COERCE D1 (L (1 RESULT-TYPE 0 OBJECT)) bAdi@g@ AgAgAgAdg@g@dd ʿ @ @@Ag@ oA (137Q CL:ERROR 126Q CL:MAP 106Q VECTORP 101Q COMPLEX 73Q COMPLEXP 17Q CL:CHARACTER) (122Q IDENTITY 115Q LISTP 63Q COMPLEX 57Q FLOATP 50Q LONG-FLOAT 41Q DOUBLE-FLOAT 33Q SINGLE-FLOAT 24Q FLOAT 11Q CL:CHARACTER) ( 133Q "Cannot coerce to type: ~S") (LET* ((A3410 (QUOTE COERCE)) (A3411 (QUOTE CL:FUNCTION)) (A3412 "Coerce object to result-type if possible")) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) ( SET-DOCUMENTATION A3410 A3411 A3412))) A3412)) expand-TYPECASEA0001 D1 (L (0 FORM)) &@dgi@gggHhhINIL (31Q QUOTE 26Q $$TYPE-VALUE 23Q TYPEP 5 OTHERWISE) () expand-TYPECASE D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) (@!HHggIhhggJ h(40Q CL:MAPCAR) (34Q expand-TYPECASEA0001 31Q COND 20Q $$TYPE-VALUE 15Q LET) () (SETF-MACRO-FUNCTION (QUOTE TYPECASE) (QUOTE expand-TYPECASE)) (LET* ((A3415 (QUOTE TYPECASE)) (A3416 (QUOTE CL:FUNCTION)) (A3417 "Type dispatch, order is important, more specific types should appear first")) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A3415 A3416 A3417))) A3417)) TYPEP D1 (L (1 TYPE 0 OBJECT)) @kA i(5 \TYPEP.PRED) NIL () (LET* ((A3418 (QUOTE TYPEP)) (A3419 (QUOTE CL:FUNCTION)) (A3420 "Check if OBJECT is of type TYPE")) ( PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A3418 A3419 A3420))) A3420)) TYPE-OF D1 (L (0 X)) $@ Hg HXdg Y@kIH(30Q GETPROP 15Q GETPROP 3 TYPENAME) (25Q CMLSUBTYPEDESCRIMINATOR 12Q CMLTYPE) () optimize-COERCE D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) i@!HH ZdiIggIhJdgggIhIgIhhgJgJgJggIhg(15Q CONSTANTEXPRESSIONP) (146Q COMPILER:PASS 136Q FLOAT 131Q LONG-FLOAT 123Q DOUBLE-FLOAT 115Q SINGLE-FLOAT 106Q FLOAT 71Q COMPLEX 61Q COMPLEXP 56Q CL:IF 47Q COMPLEX 35Q CL:CHARACTER 30Q CL:CHARACTER) () (PUTPROP (QUOTE COERCE) (QUOTE COMPILER:OPTIMIZER-LIST) (UNION (GETPROP (QUOTE COERCE) (QUOTE COMPILER:OPTIMIZER-LIST)) (LIST (QUOTE optimize-COERCE)))) optimize-FALSE D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) @ghHNIL (7 PROG1) () (PUTPROP (QUOTE FALSE) (QUOTE COMPILER:OPTIMIZER-LIST) (UNION (GETPROP (QUOTE FALSE) (QUOTE COMPILER:OPTIMIZER-LIST)) (LIST (QUOTE optimize-FALSE)))) optimize-TRUE D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) @giHNIL (7 PROG1) () (PUTPROP (QUOTE TRUE) (QUOTE COMPILER:OPTIMIZER-LIST) (UNION (GETPROP (QUOTE TRUE) (QUOTE COMPILER:OPTIMIZER-LIST)) (LIST (QUOTE optimize-TRUE)))) optimize-TYPEP D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) )@!HH ZgJ Ihog(30Q \TYPEP.PRED 15Q CONSTANTEXPRESSIONP) (46Q COMPILER:PASS 23Q AND) ( 40Q (T)) (PUTPROP (QUOTE TYPEP) (QUOTE COMPILER:OPTIMIZER-LIST) (UNION (GETPROP (QUOTE TYPEP) (QUOTE COMPILER:OPTIMIZER-LIST)) (LIST (QUOTE optimize-TYPEP)))) optimize-CL:NUMBERP D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) @ggHhoNIL (13Q NUMBERP 10Q AND) ( 23Q (T)) (PUTPROP (QUOTE CL:NUMBERP) (QUOTE COMPILER:OPTIMIZER-LIST) (UNION (GETPROP (QUOTE CL:NUMBERP) (QUOTE COMPILER:OPTIMIZER-LIST)) (LIST (QUOTE optimize-CL:NUMBERP)))) optimize-CL:FLOATP D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) @ggHhoNIL (13Q FLOATP 10Q AND) ( 23Q (T)) (PUTPROP (QUOTE CL:FLOATP) (QUOTE COMPILER:OPTIMIZER-LIST) (UNION (GETPROP (QUOTE CL:FLOATP) (QUOTE COMPILER:OPTIMIZER-LIST)) (LIST (QUOTE optimize-CL:FLOATP)))) (PUTPROPS CL:EQUAL BYTEMACRO COMP.EQ) (PUTPROPS EQUALP BYTEMACRO COMP.EQ) expand-DEFTYPE D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) ( @  @HH[KggJhiJlhioJ oJhJ _LgMJhgo  __O__OgogggOhhggoOgJOhh hhgggJhhgOhhNgggJhoNhhhgoggggJhogIhhhhgJhh(241Q \APPEND2 132Q \MVLIST 127Q PARSE-DEFMACRO 102Q XCL:PACK 77Q SYMBOL-PACKAGE 62Q CL:ERROR 4 REMOVE-COMMENTS) (434Q QUOTE 410Q QUOTE 375Q QUOTE 372Q \DEFINE-TYPE-SAVE-DEFN 367Q FILEPKGFLG 364Q AND 355Q EVAL-WHEN 322Q QUOTE 317Q DOCUMENTATION 314Q SETF 275Q QUOTE 263Q QUOTE 260Q TYPE-EXPANDER 255Q SETF 225Q CL:BLOCK 214Q CL:LAMBDA 211Q CL:FUNCTION 176Q QUOTE 173Q SYMBOL-FUNCTION 170Q SETF 161Q EVAL-WHEN 117Q :DEFAULT-DEFAULT 111Q $$TYPE-FORM 32Q WITHOUT-FILEPKG 27Q PROGN) ( 405Q (QUOTE TYPES) 361Q (CL:EVAL) 332Q ((QUOTE CL:TYPE)) 220Q ($$TYPE-FORM) 165Q (CL:EVAL CL:COMPILE CL:LOAD) 123Q (QUOTE CL:*) 67Q "type-expand-" 56Q "Illegal name used in DEFTYPE: ~S") (SETF-MACRO-FUNCTION (QUOTE DEFTYPE) (QUOTE expand-DEFTYPE)) (ADDTOVAR PRETTYPRINTMACROS (DEFTYPE . PPRINT-DEFINER)) TYPE-EXPANDER D1 (L (0 TYPE)) ,@Hd@@gHo g'(40Q CHECK-TYPE-FAIL) (50Q TYPE-EXPANDER 30Q TYPE 20Q LISTP 10Q LITATOM) ( 35Q (OR SYMBOL CONS)) expand-SETF-TYPE-EXPANDER D1 (L (1 $$MACRO-ENVIRONMENT 0 $$MACRO-FORM)) @!HHgIoJhNIL (16Q PUT) ( 23Q (QUOTE TYPE-EXPANDER)) (SETF-MACRO-FUNCTION (QUOTE SETF-TYPE-EXPANDER) (QUOTE expand-SETF-TYPE-EXPANDER)) (ADDTOVAR PRETTYDEFMACROS (TYPES X (P * (MAPCAR (QUOTE X) (FUNCTION (LAMBDA (ITEM) (CL:DO ((DEF ( GETDEF ITEM (QUOTE TYPES)))) (DEF DEF) (CERROR "Re-fetch the definition" "No ~S definition for ~S" ( QUOTE TYPES) ITEM)))))))) (ADDTOVAR PRETTYTYPELST (CHANGEDTYPESLST TYPES "Common Lisp type definitions")) (COND ((NOT (CL:GETHASH (QUOTE TYPES) *DEFINITION-HASH-TABLE*)) (CL:PUTHASH (QUOTE TYPES) *DEFINITION-HASH-TABLE* (MAKE-HASH-TABLE (QUOTE :TEST) (QUOTE CL:EQUAL) (QUOTE :SIZE) 50 (QUOTE :REHASH-SIZE) 50)))) (ADDTOVAR FILEPKGTYPES TYPES) (PUTPROPS TYPES GETDEF \DEFINE-TYPE-GETDEF) (PUTPROPS TYPES FILEPKGCONTENTS NILL) (PUTPROPS TYPES PROPTYPE TYPES) (REMPROP (QUOTE TYPE-EXPANDER) (QUOTE SETF-METHOD-EXPANDER)) (PUTPROPS TYPE-EXPANDER SETF-INVERSE SETF-TYPE-EXPANDER) ARRAY-TYPE D1 (L (0 ARRAY)) @ 1@ SHk:>@ @d gIh gIh@ ZigIhgJIhhg@ @ hHk:/@ @d gKh gKhg@ Khg@ @ h(232Q ARRAY-DIMENSIONS 226Q ARRAY-ELEMENT-TYPE 211Q ARRAY-ELEMENT-TYPE 171Q BIT-VECTOR-P 154Q CL:STRINGP 146Q ARRAY-TOTAL-SIZE 130Q ARRAY-DIMENSIONS 124Q ARRAY-ELEMENT-TYPE 65Q ARRAY-ELEMENT-TYPE 50Q SIMPLE-BIT-VECTOR-P 33Q SIMPLE-STRING-P 25Q ARRAY-TOTAL-SIZE 12Q SIMPLE-ARRAY-P 3 ARRAY-RANK) (222Q CL:ARRAY 205Q VECTOR 175Q BIT-VECTOR 161Q STRING 120Q SIMPLE-ARRAY 104Q SIMPLE-ARRAY 74Q SIMPLE-VECTOR 54Q SIMPLE-BIT-VECTOR 40Q SIMPLE-STRING) () FALSE D1 NIL hNIL NIL () SYMBOL-TYPE D1 (L (0 X)) @ gg(3 KEYWORDP) (13Q SYMBOL 7 KEYWORD) () TRUE D1 NIL iNIL NIL () \RANGE.TYPE D1 (L (3 RANGELIST 2 HIGH 1 LOW 0 BASETYPE)) ?AgbBgbAdgBg@AgBglg@ggogAghiAgAohBghbgiBggBhh hhhbgCHRg@ggogA4gAoBggBhhhhhbgbgAIBIIIAdkBdkIJKhiKLhi LMhiIbHXa(200Q \APPEND2) (353Q < 342Q < 306Q X 303Q <= 265Q <= 256Q AND 247Q LAMBDA 244Q SATISFIES 240Q AND 224Q < 166Q X 163Q <= 147Q < 134Q CL:* 117Q <= 101Q CL:* 75Q AND 66Q LAMBDA 63Q SATISFIES 57Q AND 51Q CL:* 43Q CL:* 33Q CL:* 24Q CL:* 14Q CL:* 4 CL:*) ( 272Q (X) 253Q (X) 124Q (X) 72Q (X)) CL:NUMBERP D1 (L (0 X)) @3iNIL NIL () CL:FLOATP D1 (L (0 X)) @iNIL NIL () SI::DATATYPE-P D1 (L (0 NAME)) @ i(3 \TYPENUMBERFROMNAME) NIL () (LET* ((A3431 (QUOTE SI::DATATYPE-P)) (A3432 (QUOTE CL:FUNCTION)) (A3433 "Returns T if name is a datatype known to the XAIE type system")) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A3431 A3432 A3433))) A3433)) SI::SUB-DATATYPE-P D1 (L (1 TYPE2 0 TYPE1) F 3 %%NO-SUPER-TYPE) (@ !A HSJhJIi`J(12Q \TYPENUMBERFROMNAME 3 \TYPENUMBERFROMNAME) (34Q \DTDSpaceBase) () (LET* ((A3435 (QUOTE SI::SUB-DATATYPE-P)) (A3436 (QUOTE CL:FUNCTION)) (A3437 "Returns T if type2 is a (not necessarily proper) supertype of type1.")) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A3435 A3436 A3437))) A3437)) SUB-SUBTYPEP D1 (L (1 TYPE2 0 TYPE1) F 4 TYPE-META-EXPRESSIONS) @dA gid Adighi @d1A+@dg#Agg@A i @@T @A AA@ 1H@ A ZA HJIK HIA J @K dd T @A (300Q HANDLE-TYPE2-META-EXPRESSION 271Q MEMBER 263Q VALUES 255Q SUB-SUBTYPEP 243Q SUB-SUBTYPEP 232Q SUB-SUBTYPEP 217Q TYPE-EXPAND 210Q TYPE-EXPANDER 203Q TYPE-EXPAND 171Q TYPE-EXPANDER 160Q HANDLE-TYPE1-META-EXPRESSION 152Q MEMBER 140Q \DO-THROW 135Q \MVLIST 132Q VALUES 126Q SI::SUB-DATATYPE-P 55Q \DO-THROW 52Q \MVLIST 47Q VALUES 25Q \DO-THROW 22Q \MVLIST 17Q VALUES 5 CL:EQUAL) (115Q HAIRY-SUBTYPEP 107Q DATATYPE 76Q DATATYPE 42Q HAIRY-SUBTYPEP 12Q HAIRY-SUBTYPEP) () (LET* ((A3438 (QUOTE SUB-SUBTYPEP)) (A3439 (QUOTE CL:FUNCTION)) (A3440 "Returns (T T) iff type1 is a subtype of type2.")) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) ( SET-DOCUMENTATION A3438 A3439 A3440))) A3440)) SUBTYPEPA0001 D1 (F 0 TYPE1 F 1 TYPE2) PQ hd (11Q VALUES 4 SUB-SUBTYPEP) NIL () SUBTYPEP D1 (I 1 TYPE2 I 0 TYPE1) gg (10Q \CATCH-FUNCALL) (5 SUBTYPEPA0001 2 HAIRY-SUBTYPEP) () (LET* ((A3441 (QUOTE SUBTYPEP)) (A3442 (QUOTE CL:FUNCTION)) (A3443 "Returns T if type1 is a subtype of type2. If second value is (), couldn't decide.")) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A3441 A3442 A3443))) A3443)) TYPE-EXPAND D1 (L (0 -args-)) deka1lH$IZdIIgJo la[%I\dIhIgLo kKoI (141Q CL:ERROR 125Q CHECK-TYPE-FAIL 57Q TYPE-EXPANDER 54Q CHECK-TYPE-FAIL) (115Q FORM 106Q LISTP 74Q LITATOM 44Q FORM 34Q LISTP 24Q LITATOM) ( 135Q "no type expander for ~s" 122Q (OR SYMBOL CONS) 51Q (OR SYMBOL CONS)) (LET* ((A3444 (QUOTE TYPE-EXPAND)) (A3445 (QUOTE CL:FUNCTION)) (A3446 "expands a type form according to deftypes in effect. The caller must ensure there is an expander for the form" )) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A3444 A3445 A3446))) A3446)) HANDLE-TYPE1-META-EXPRESSION D1 (L (1 TYPE2 0 TYPE1)) @QHgEHdg$@Yd6dA gid Ig=@Zgid A ]MLKghi Jo (175Q ERROR 162Q \DO-THROW 157Q \MVLIST 154Q VALUES 127Q \MVLIST 124Q SUBTYPEP 116Q \DO-THROW 113Q \MVLIST 110Q VALUES 61Q \DO-THROW 56Q \MVLIST 53Q VALUES 40Q SUBTYPEP) (147Q HAIRY-SUBTYPEP 103Q HAIRY-SUBTYPEP 70Q OR 46Q HAIRY-SUBTYPEP 20Q AND 10Q SATISFIES) ( 172Q "an entry in TYPE-META-EXPRESSIONS is not handled by handle-type1-meta-expression") HANDLE-TYPE2-META-EXPRESSION D1 (L (1 TYPE2 0 TYPE1)) AqHdg@AYgid @J ]MLKfghi Ig%A^dH_@O gid NHg%@ @gg@A i o (244Q ERROR 234Q \DO-THROW 231Q \MVLIST 226Q VALUES 222Q SI::SUB-DATATYPE-P 157Q \DO-THROW 154Q \MVLIST 151Q VALUES 140Q SUB-SUBTYPEP 106Q \DO-THROW 103Q \MVLIST 100Q VALUES 53Q \MVLIST 50Q SUBTYPEP 40Q \DO-THROW 35Q \MVLIST 32Q VALUES) (211Q HAIRY-SUBTYPEP 203Q DATATYPE 167Q DATATYPE 144Q HAIRY-SUBTYPEP 115Q OR 73Q HAIRY-SUBTYPEP 25Q HAIRY-SUBTYPEP 11Q AND) ( 241Q "an entry in TYPE-META-EXPRESSIONS is not handled by handle-type2-meta-expression") (SETQ %%NO-SUPER-TYPE 0) (PUTHASH (QUOTE %%NO-SUPER-TYPE) (QUOTE (CONSTANT %%NO-SUPER-TYPE)) COMPVARMACROHASH) (LET* ((A3449 (QUOTE %%NO-SUPER-TYPE)) (A3450 (QUOTE VARIABLE)) (A3451 "the value in the dtdsupertype field which indicates no super type.")) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A3449 A3450 A3451))) A3451)) (SETQ TYPE-META-EXPRESSIONS (QUOTE (AND OR))) (PUTHASH (QUOTE TYPE-META-EXPRESSIONS) (QUOTE (CONSTANT TYPE-META-EXPRESSIONS)) COMPVARMACROHASH) (LET* ((A3452 (QUOTE TYPE-META-EXPRESSIONS)) (A3453 (QUOTE VARIABLE)) (A3454 "the expressions that sub-subtypep knows how to dissect")) (PROGN (COND ((FBOUNDP (QUOTE SET-DOCUMENTATION)) (SET-DOCUMENTATION A3452 A3453 A3454))) A3454)) \TYPEP.PREDA0001 D1 (L (0 PRED)) @ gh(3 \TYPEP.PRED) (6 X) () \TYPEP.PRED D1 (L (0 TYPE)) @d` @dHdg@ng"goggg@hhhHHgHgHggo@g@ h@ Y@kI oo@ ` ig@dg H@hkHbG@d ,o@ g@hgg@hhh @ oo@ (375Q CERROR 357Q TYPE-EXPANDER 346Q EVAL 313Q WARN 300Q SI::DATATYPE-P 252Q TYPE-EXPANDER 230Q PUTHASH 221Q CERROR 204Q \TYPEP.PRED 173Q TYPE-EXPANDER 157Q CL:MAPCAR 14Q GETHASH) (327Q DATATYPE 324Q QUOTE 317Q DEFTYPE 246Q FALSE 237Q TRUE 225Q CLISPARRAY 152Q \TYPEP.PREDA0001 141Q OPENLAMBDA 133Q NOT 125Q OR 117Q AND 73Q QUOTE 70Q X 65Q TYPENAMEP 56Q OPENLAMBDA 50Q DATATYPE 35Q SATISFIES 11Q CLISPARRAY) ( 371Q "No type definition for ~S. Specify one with DEFTYPE." 365Q "Use the deftype you have specified." 307Q "Installing DEFTYPE for datatype ~S" 215Q "No type definition for ~S. Specify one with DEFTYPE." 211Q "Look again for a deftype on ~S." 145Q (X) 62Q (X)) type-expand-CL:ATOM D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (SATISFIES CL:ATOM)) (PUT (QUOTE CL:ATOM) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-CL:ATOM)) type-expand-BIGNUM D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (OR (DATATYPE FIXP) (DATATYPE BIGNUM))) (PUT (QUOTE BIGNUM) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-BIGNUM)) type-expand-BIT D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (CL:MOD 2)) (PUT (QUOTE BIT) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-BIT)) type-expand-CL:CHARACTER D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (SATISFIES CHARACTERP)) (PUT (QUOTE CL:CHARACTER) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-CL:CHARACTER)) type-expand-CONS D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (DATATYPE LISTP)) (PUT (QUOTE CONS) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-CONS)) type-expand-DOUBLE-FLOAT D1 (L (0 $$TYPE-FORM)) @gHNIL (7 FLOAT) () (PUT (QUOTE DOUBLE-FLOAT) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-DOUBLE-FLOAT)) type-expand-FIXNUM D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (DATATYPE SMALLP)) (PUT (QUOTE FIXNUM) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-FIXNUM)) type-expand-FLOAT D1 (L (0 $$TYPE-FORM)) %@!H gHHgoIJ (42Q \RANGE.TYPE) (30Q CL:* 12Q CL:*) ( 35Q (DATATYPE FLOATP)) (PUT (QUOTE FLOAT) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-FLOAT)) type-expand-FUNCTION D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (SATISFIES FUNCTIONP)) (PUT (QUOTE FUNCTION) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-FUNCTION)) type-expand-HASH-TABLE D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (DATATYPE HARRAYP)) (PUT (QUOTE HASH-TABLE) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-HASH-TABLE)) type-expand-INTEGER D1 (L (0 $$TYPE-FORM)) )@!H gHHgoIJo (46Q \RANGE.TYPE) (30Q CL:* 12Q CL:*) ( 43Q ((-200000Q 177777Q FIXNUM) (0 1 (CL:MEMBER 0 1))) 35Q (SATISFIES INTEGERP)) (PUT (QUOTE INTEGER) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-INTEGER)) type-expand-KEYWORD D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (SATISFIES KEYWORDP)) (PUT (QUOTE KEYWORD) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-KEYWORD)) type-expand-LIST D1 (L (0 $$TYPE-FORM)) `@gHgoggggogggogggHhhhhohhhNIL (75Q QUOTE 72Q ELEMENT 67Q TYPEP 60Q CL:LAMBDA 55Q CL:FUNCTION 52Q CL:EVERY 43Q LAMBDA 40Q SATISFIES 35Q LIST 32Q AND 15Q CL:* 6 CL:*) ( 120Q (X) 64Q (ELEMENT) 47Q (X) 23Q (OR NULL CONS)) (PUT (QUOTE LIST) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-LIST)) type-expand-LONG-FLOAT D1 (L (0 $$TYPE-FORM)) @gHNIL (7 FLOAT) () (PUT (QUOTE LONG-FLOAT) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-LONG-FLOAT)) type-expand-CL:MEMBER D1 (L (0 $$TYPE-FORM)) )@ggogggHhhhhNIL (27Q QUOTE 24Q X 21Q CL:MEMBER 12Q LAMBDA 7 SATISFIES) ( 16Q (X)) (PUT (QUOTE CL:MEMBER) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-CL:MEMBER)) type-expand-CL:MOD D1 (L (0 $$TYPE-FORM)) @gjHkhNIL (10Q INTEGER) () (PUT (QUOTE CL:MOD) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-CL:MOD)) type-expand-NULL D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (SATISFIES NULL)) (PUT (QUOTE NULL) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-NULL)) type-expand-NUMBER D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (SATISFIES NUMBERP)) (PUT (QUOTE NUMBER) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-NUMBER)) type-expand-PACKAGE D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (DATATYPE PACKAGE)) (PUT (QUOTE PACKAGE) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-PACKAGE)) type-expand-SHORT-FLOAT D1 (L (0 $$TYPE-FORM)) @gHNIL (7 FLOAT) () (PUT (QUOTE SHORT-FLOAT) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-SHORT-FLOAT)) type-expand-SIGNED-BYTE D1 (L (0 $$TYPE-FORM)) /@gHgglHk gjIIkh(36Q CL:EXPT) (42Q INTEGER 22Q INTEGER 15Q CL:* 6 CL:*) () (PUT (QUOTE SIGNED-BYTE) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-SIGNED-BYTE)) type-expand-STANDARD-CHAR D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (SATISFIES STANDARD-CHAR-P)) (PUT (QUOTE STANDARD-CHAR) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-STANDARD-CHAR)) type-expand-STRING-CHAR D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (SATISFIES STRING-CHAR-P)) (PUT (QUOTE STRING-CHAR) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-STRING-CHAR)) type-expand-SINGLE-FLOAT D1 (L (0 $$TYPE-FORM)) @gHNIL (7 FLOAT) () (PUT (QUOTE SINGLE-FLOAT) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-SINGLE-FLOAT)) type-expand-SYMBOL D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (DATATYPE LITATOM)) (PUT (QUOTE SYMBOL) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-SYMBOL)) type-expand-UNSIGNED-BYTE D1 (L (0 $$TYPE-FORM)) *@gHgogjlH hh(41Q CL:EXPT) (32Q INTEGER 15Q CL:* 6 CL:*) ( 23Q (INTEGER 0)) (PUT (QUOTE UNSIGNED-BYTE) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-UNSIGNED-BYTE)) type-expand-RATIONAL D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (OR RATIO INTEGER)) (PUT (QUOTE RATIONAL) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-RATIONAL)) type-expand-READTABLE D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (DATATYPE READTABLEP)) (PUT (QUOTE READTABLE) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-READTABLE)) type-expand-COMMON D1 (L (0 $$TYPE-FORM)) iNIL NIL () (PUT (QUOTE COMMON) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-COMMON)) type-expand-COMPILED-FUNCTION D1 (L (0 $$TYPE-FORM)) oNIL NIL ( 3 (SATISFIES COMPILED-FUNCTION-P)) (PUT (QUOTE COMPILED-FUNCTION) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-COMPILED-FUNCTION)) type-expand-COMPLEX D1 (L (0 $$TYPE-FORM)) `@gHgoggggoggogHhhgogHhhhhhhNIL (106Q QUOTE 77Q TYPEP 64Q QUOTE 55Q TYPEP 52Q AND 43Q LAMBDA 40Q SATISFIES 35Q COMPLEX 32Q AND 15Q CL:* 6 CL:*) ( 103Q (COMPLEX-IMAGPART X) 61Q (COMPLEX-REALPART X) 47Q (X) 23Q (DATATYPE COMPLEX)) (PUT (QUOTE COMPLEX) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-COMPLEX)) type-expand-SEQUENCE D1 (L (0 $$TYPE-FORM)) `@gHgoggggogggogggHhhhhohhhNIL (75Q QUOTE 72Q ELEMENT 67Q TYPEP 60Q CL:LAMBDA 55Q CL:FUNCTION 52Q CL:EVERY 43Q LAMBDA 40Q SATISFIES 35Q SEQUENCE 32Q AND 15Q CL:* 6 CL:*) ( 120Q (X) 64Q (ELEMENT) 47Q (X) 23Q (OR VECTOR LIST)) (PUT (QUOTE SEQUENCE) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-SEQUENCE)) type-expand-CL:ARRAY D1 (L (0 $$TYPE-FORM))  @QH gHHgZJgg IghiI Jdg=IgoggogogogIhhhhhoVIdggggIgIogggogogogIhhhhhJ[ighi-hPggogogoJ hIghKigogIhhhhhJh\i]gMhihJk gJhLggogogoJ hJjNOIg7h5ghigggOhNhO_NOk_^igogIhhh hhogIJh (1005Q CL:ERROR 752Q \APPEND2 605Q CL:LENGTH 533Q CL:LENGTH 405Q CL:LENGTH 66Q %%GET-CANONICAL-CML-TYPE 47Q MAKE-LIST) (774Q CL:ARRAY 735Q QUOTE 726Q EQUAL 662Q X 657Q ARRAY-DIMENSION 654Q EQL 642Q CL:* 630Q CL:* 575Q EQL 566Q AND 557Q LAMBDA 554Q SATISFIES 537Q VECTOR 513Q SMALLP 505Q CL:* 442Q QUOTE 433Q EQUAL 415Q CL:* 375Q EQL 366Q AND 357Q LAMBDA 354Q SATISFIES 337Q CL:* 301Q QUOTE 272Q EQUAL 263Q AND 254Q LAMBDA 251Q SATISFIES 245Q BIT-VECTOR 231Q BIT 224Q STRING 217Q STRING-CHAR 213Q VECTOR 206Q CL:* 146Q QUOTE 137Q EQUAL 130Q AND 121Q LAMBDA 116Q SATISFIES 104Q CL:* 74Q CL:* 54Q CL:* 44Q CL:* 41Q :INITIAL-ELEMENT 34Q SMALLP 30Q CL:* 12Q CL:*) ( 771Q "Bad (final) array type designator: ~S" 732Q (ARRAY-ELEMENT-TYPE X) 601Q (ARRAY-RANK X) 572Q (CL:ARRAYP X) 563Q (X) 437Q (ARRAY-ELEMENT-TYPE X) 401Q (ARRAY-RANK X) 372Q (CL:ARRAYP X) 363Q (X) 276Q (ARRAY-ELEMENT-TYPE X) 267Q (VECTORP X) 260Q (X) 240Q (UNSIGNED-BYTE 1) 176Q (CL:*) 143Q (ARRAY-ELEMENT-TYPE X) 134Q (CL:ARRAYP X) 125Q (X) 112Q (SATISFIES CL:ARRAYP)) (PUT (QUOTE CL:ARRAY) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-CL:ARRAY)) type-expand-VECTOR D1 (L (0 $$TYPE-FORM)) @!H gHHgIdg7JgoggogogoJhhhhggJhIo gJhggogogogI hhJghigoJhhhh(223Q %%GET-CANONICAL-CML-TYPE 153Q MEMBER) (250Q EQL 236Q CL:* 217Q QUOTE 210Q EQUAL 201Q AND 172Q LAMBDA 167Q SATISFIES 157Q BIT-VECTOR 136Q STRING 131Q STRING-CHAR 101Q EQL 72Q AND 63Q LAMBDA 60Q SATISFIES 46Q CL:* 36Q CL:* 30Q CL:* 12Q CL:*) ( 254Q (ARRAY-TOTAL-SIZE V) 214Q (ARRAY-ELEMENT-TYPE V) 205Q (VECTORP V) 176Q (V) 150Q (BIT (UNSIGNED-BYTE 1)) 105Q (ARRAY-TOTAL-SIZE V) 76Q (VECTORP V) 67Q (V) 54Q (SATISFIES VECTORP)) (PUT (QUOTE VECTOR) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-VECTOR)) type-expand-SIMPLE-STRING D1 (L (0 $$TYPE-FORM)) B@gHgoggogogoHhhhhNIL (53Q EQL 44Q AND 35Q LAMBDA 32Q SATISFIES 15Q CL:* 6 CL:*) ( 57Q (ARRAY-TOTAL-SIZE V) 50Q (SIMPLE-STRING-P V) 41Q (V) 23Q (SATISFIES SIMPLE-STRING-P)) (PUT (QUOTE SIMPLE-STRING) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-SIMPLE-STRING)) type-expand-STRING D1 (L (0 $$TYPE-FORM)) B@gHgoggogogoHhhhhNIL (53Q EQL 44Q AND 35Q LAMBDA 32Q SATISFIES 15Q CL:* 6 CL:*) ( 57Q (ARRAY-TOTAL-SIZE X) 50Q (CL:STRINGP X) 41Q (X) 23Q (SATISFIES CL:STRINGP)) (PUT (QUOTE STRING) (QUOTE TYPE-EXPANDER) (QUOTE type-expand-STRING)) type-expand-SIMPLE-ARRAY D1 (L (0 $$TYPE-FORM))  @QH gHHgZJgg IghiI Jdg=IgoggogogogIhhhhhodIdgggIdogigggogooIghigogIhhhhhJ[ighi-hPggogogoJ hIghKigogIhhhhhJh\i]gMhi