typed> (load "type-check-infer.scm") Type checking "type-check-infer.scm" ... d:/classes/cs342/lib/type-check-unify.scm: lines 163 to 187: Expected type of variable and definition differ Variable: tc:variant-type-decl-list-unify Type from deftype or uses : (forall (t) (-> ((list-of tc:variant-type-decl-type-expr-record) (list-of tc:variant-type-decl-type-expr-record) (maybe-of (tc:env-of uniq-sym tc:type-expr)) t) (maybe-of (tc:env-of uniq-sym tc:type-expr)))) Type of defining expression: (forall (s t) (-> ((list-of tc:variant-type-decl-type-expr-record) (list-of tc:variant-type-decl-type-expr-record) t s) (maybe-of t))) d:/classes/cs342/lib/type-check-subtype-unify.scm: line 117: Unknown variable: tc:variant-extension-full-expr? d:/classes/cs342/lib/type-check-subtype-unify.scm: line 178: Operator and argument types don't match Offending call: (tc:variants-lookup (car subtype-variants) supertype-variants (lambda (supertype-variant) (find-ext (cdr subtype-variants) needed-for-supertype)) (lambda () (find-ext (cdr subtype-variants) (cons (car subtype-variants) needed-for-supertype)))) Operator type : (forall (t) (-> (symbol (list-of tc:variant-type-decl-type-expr-record) (-> (tc:variant-type-decl-type-expr-record) t) (-> () t)) t)) Argument type list: (tc:variant-type-decl-type-expr-record (list-of tc:variant-type-decl-type-expr-record) (forall (s t) (-> (s) t)) (forall (t) (-> () t))) d:/classes/cs342/lib/type-check-token-seq-as-stream.scm: line 22: Unknown variable: tc:scheme-token? d:/classes/cs342/lib/type-check-scheme-unparser.scm: line 24: Arms of if expression have different types line 24: Left arm: (tc:unparse-scheme-form (car forms)) line 25: Right arm: (cons (quote begin) (map tc:unparse-scheme-form forms)) Left arm's type: symbol Right arm's type: (list-of symbol) d:/classes/cs342/lib/type-check-scheme-unparser.scm: lines 21 to 29: Unknown variable: tc:scheme-program d:/classes/cs342/lib/type-check-scheme-unparser.scm: lines 35 to 50: Unknown variable: tc:scheme-form d:/classes/cs342/lib/type-check-scheme-unparser.scm: line 58: Clauses of cases expression have different types line 58: Left clause's body: (list (quote define) variable (tc:unparse-scheme-exp exp)) lines 60 to 63: Right clause's body: (append (list (quote define) (cons variable (tc:unparse-scheme-formals formals))) (tc:unparse-scheme-body body)) Left clause's body's type: (list-of symbol) Right clause's body's type: (list-of datum) d:/classes/cs342/lib/type-check-scheme-unparser.scm: lines 79 to 83: Unknown variable: tc:scheme-formals d:/classes/cs342/lib/type-check-scheme-unparser.scm: lines 89 to 92: Unknown variable: tc:scheme-body-record d:/classes/cs342/lib/type-check-scheme-unparser.scm: lines 98 to 100: Unknown variable: tc:variant-decl-record d:/classes/cs342/lib/type-check-scheme-unparser.scm: lines 106 to 108: Unknown variable: tc:field-pred-binding-record d:/classes/cs342/lib/type-check-scheme-unparser.scm: lines 114 to 116: Unknown variable: tc:scheme-syntax-spec-record d:/classes/cs342/lib/type-check-scheme-unparser.scm: lines 122 to 128: Unknown variable: tc:scheme-transformer-spec-record d:/classes/cs342/lib/type-check-scheme-unparser.scm: lines 134 to 137: Unknown variable: tc:scheme-syntax-rule-record d:/classes/cs342/lib/type-check-scheme-unparser.scm: line 158: Operator and argument types don't match Offending call: (append (map tc:unparse-scheme-syntax-pattern patterns) (quote ...)) Operator type : (forall (s t u) (all-of (-> ((list-of s) ...) (list-of s)) (-> ((list-of t) (list-of u) ...) (list-of datum)))) Argument type list: ((forall (t) (list-of (list-of t))) symbol) d:/classes/cs342/lib/type-check-scheme-unparser.scm: lines 143 to 161: Unknown variable: tc:scheme-syntax-pattern d:/classes/cs342/lib/type-check-scheme-unparser.scm: lines 167 to 182: Unknown variable: tc:scheme-syntax-template d:/classes/cs342/lib/type-check-scheme-unparser.scm: lines 190 to 195: Unknown variable: tc:scheme-syntax-template-element d:/classes/cs342/lib/type-check-scheme-unparser.scm: lines 201 to 337: Unknown variable: tc:scheme-exp Error in car: () is not a pair. Type (debug) to enter the debugger. > (quit) Process scheme finished