% gcl				# Enter gcl from UNIX
GCL (GNU Common Lisp)  Version(2.4.0) Thu Mar 28 16:04:54 PST 2002
Licensed under GNU Library General Public License
Contains Enhancements by W. Schelter

>(load "xcheck.l")
Loading xcheck.l
Loading xeval.l
Finished loading xeval.l
Finished loading xcheck.l
T

>(load "readfile-xcheck-print.l")
Loading readfile-xcheck-print.l
Loading read-xcheck-print.l
Loading preload-built-ins.l
Finished loading preload-built-ins.l
Finished loading read-xcheck-print.l
Finished loading readfile-xcheck-print.l
T

>(readfile-xcheck-print-loop)
Name of xcheck test file: tests.xl

NIL 
INT 
REAL 
STRING 
BOOL 
BOOL 
Error: The variable X is undefined.

NIL 
NIL 
I 
R 
S 
B 
T1 
T2 
T3 
NIL 
A 
A10 
A-10 
REC 
RREC 
U 
F 
G 
H 
ARA 
BIG-ONE 
BIG-TWO 
BIG-THREE 
NIL 
IV 
INT 
RV 
REAL 
SV 
STRING 
BV 
B 
AV 
A 
AV10 
A10 
AV-10 
A-10 
RECV 
REAL 
RECV2 
(RECORD (I INT) (R REAL) (S STRING) (B BOOL)) 
RRECV 
RREC 
UV 
U 
FV 
F 
ARAV 
ARA 
B1V 
(ARRAY (RECORD (A10F A10) (RRECF RREC) (UF U) (FF F))) 
B2V 
B3V 
NIL 
XPRINT-INT 
XPRINT-REAL 
XPRINT-STRING 
XPRINT-BOOL 
XPLUS 
XTIMES 
FF 
OK 
Error in function ERRORS expression 1 calling function XSETQ:
    type conflict in argument 2
        expected type: INT
        given type: REAL

Error in function ERRORS expression 2 calling function XSETQ:
    type conflict in argument 2
        expected type: REAL
        given type: INT

Error in function ERRORS expression 3 calling function XSETQ:
    type conflict in argument 2
        expected type: STRING
        given type: BOOL

Error in function ERRORS expression 4 calling function XSETQ:
    type conflict in argument 2
        expected type: STRING
        given type: INT

Error in function ERRORS expression 5 calling function XSETQ:
    type conflict in argument 2
        expected type: BOOL
        given type: REAL

Error in function ERRORS expression 6 calling function XSETQ:
    type conflict in argument 2
        expected type: INT
        given type: STRING

Error in function ERRORS expression 7 calling function XSETQ:
    type conflict in argument 2
        expected type: INT
        given type: BOOL

Error in function ERRORS expression 8 calling function XSETQ:
    type conflict in argument 2
        expected type: T1
        given type: STRING

Error in function ERRORS expression 9 calling function XSETQ:
    type conflict in argument 2
        expected type: T3
        given type: A

Error in function ERRORS expression 10 calling function XSETQ:
    type conflict in argument 2
        expected type: A
        given type: INT

Error in function ERRORS expression 11 calling function XSETQ:
    type conflict in argument 2
        expected type: A10
        given type: INT

Error in function ERRORS expression 12 calling function XSETQ:
    type conflict in argument 2
        expected type: REC
        given type: INT

Error in function ERRORS expression 13 calling function XSETQ:
    type conflict in argument 2
        expected type: RREC
        given type: INT

Error in function ERRORS expression 14 calling function XSETQ:
    type conflict in argument 2
        expected type: (RECORD (I INT) (R REAL) (S STRING) (B BOOL))
        given type: A

Error in function ERRORS expression 15 calling function XSETQ:
    type conflict in argument 2
        expected type: BIG-ONE
        given type: BIG-THREE

Error in function ERRORS expression 16 calling function XPLUS:
    type conflict in argument 1
        expected type: INT
        given type: REAL

Error in function ERRORS expression 16 calling function XPLUS:
    type conflict in argument 2
        expected type: INT
        given type: STRING

Error in function ERRORS expression 17 calling function XPLUS:
    type conflict in argument 2
        expected type: INT
        given type: STRING

Error in function ERRORS expression 18 calling function SETELEM:
    type conflict in argument 2
        expected type: INT
        given type: REAL

Error in function ERRORS expression 18 calling function SETELEM:
    type conflict in argument 3
        expected type: INT
        given type: REAL

Error in function ERRORS expression 18 calling function XSETQ:
    type conflict in argument 2
        expected type: A
        given type: NIL

Error in function ERRORS expression 19 calling function INDEX:
    type conflict in argument 2
        expected type: INT
        given type: STRING

Error in function ERRORS expression 19 calling function XPRINT-INT:
    type conflict in argument 1
        expected type: INT
        given type: NIL

Error in function ERRORS expression 20 calling function SETELEM:
    type conflict in argument 2
        expected type: INT
        given type: REAL

Error in function ERRORS expression 20 calling function SETELEM:
    type conflict in argument 3
        expected type: INT
        given type: STRING

Error in function ERRORS expression 20 calling function XSETQ:
    type conflict in argument 2
        expected type: A10
        given type: NIL

Error in function ERRORS expression 21 calling function INDEX:
    type conflict in argument 2
        expected type: INT
        given type: REC

Error in function ERRORS expression 21 calling function XPRINT-INT:
    type conflict in argument 1
        expected type: INT
        given type: NIL

Error in function ERRORS expression 22 calling function INDEX:
    type conflict in argument 1
        expected type: ARRAY
        given type: (RECORD (I INT) (R REAL) (S STRING) (B BOOL))

Error in function ERRORS expression 22 calling function XPRINT-INT:
    type conflict in argument 1
        expected type: INT
        given type: NIL

Error in function ERRORS expression 23 calling function SETFIELD:
    type conflict in argument 1
        expected type: RECORD
        given type: (ARRAY INT)

Error in function ERRORS expression 24 calling function DOT:
    type conflict in argument 2
        expected type: a valid field name
        given type: 'X

Error in function ERRORS expression 24 calling function XPRINT-REAL:
    type conflict in argument 1
        expected type: REAL
        given type: NIL

Error in function ERRORS expression 25 calling function DOT:
    type conflict in argument 2
        expected type: a valid field name
        given type: 'RR

Error in function ERRORS expression 25 calling function DOT:
    type conflict in argument 1
        expected type: RECORD
        given type: NIL

Error in function ERRORS expression 25 calling function XPRINT-STRING:
    type conflict in argument 1
        expected type: STRING
        given type: NIL

Error in function ERRORS expression 26 calling function XSETQ:
    type conflict in argument 2
        expected type: ARA
        given type: (COMPOSITE (COMPOSITE INT (COMPOSITE INT INT INT))
                        (COMPOSITE INT (COMPOSITE INT INT INT))
                        (COMPOSITE INT (COMPOSITE INT INT INT)) STRING)

Error in function ERRORS expression 27 calling function INDEX:
    type conflict in argument 2
        expected type: INT
        given type: REAL

Error in function ERRORS expression 27 calling function DOT:
    type conflict in argument 1
        expected type: RECORD
        given type: NIL

Error in function ERRORS expression 27 calling function INDEX:
    type conflict in argument 1
        expected type: ARRAY
        given type: NIL

Error in function ERRORS expression 27 calling function INDEX:
    type conflict in argument 2
        expected type: INT
        given type: STRING

Error in function ERRORS expression 27 calling function XPRINT-INT:
    type conflict in argument 1
        expected type: INT
        given type: NIL

Error in function ERRORS expression 28 calling function XSETQ:
    type conflict in argument 2
        expected type: INT
        given type: (FUNCTION ((M INT) (N INT)) (REAL))

Error in function ERRORS expression 29 calling function XAPPLY:
    type conflict in argument 1
        expected type: FUNCTION
        given type: INT

Error in function ERRORS expression 29 calling function XSETQ:
    type conflict in argument 2
        expected type: REAL
        given type: NIL

ERRORS 
NIL 
Error in top-level expression (XSETQ BV xyz):
    type conflict in argument 2
        expected type: B
        given type: STRING

Error in top-level expression (XSETQ RV xyz):
    type conflict in argument 2
        expected type: REAL
        given type: STRING

BOOL 
NIL 
NIL 

XC>:dump

(((RV 20.5) (IV 10) (TYPE-CHECK-LEV TOP-LEVEL NIL))
 ((ERRORS ((IP STRING) (RP BOOL) (SP INT) (BV INT) (T1P T1) (T3P T3))
          NIL NIL
          ((XSETQ IV 10.5) (XSETQ RV 10) (XSETQ SV T) (XSETQ IP IV)
           (XSETQ RP RV) (XSETQ SP SV) (XSETQ BV T) (XSETQ T1P "xyz")
           (XSETQ T3P AV) (XSETQ AV 1) (XSETQ AV10 2) (XSETQ RECV 3)
           (XSETQ RRECV 4) (XSETQ RECV2 AV) (XSETQ B1V B3V)
           (XSETQ IV (XPLUS 2.5 "xyz"))
           (XSETQ IV
                  (XPLUS (XPLUS (XTIMES (XPLUS IV 10) (XPLUS IV 20))
                                (XTIMES (XPLUS IV 30) (XPLUS IV 40)))
                         "xyz"))
           (XSETQ AV (SETELEM AV 5.5 5.5))
           (XPRINT-INT (INDEX AV "xyz"))
           (XSETQ AV10 (SETELEM AV10 5.5 "xyz"))
           (XPRINT-INT (INDEX AV RECV)) (XPRINT-INT (INDEX RECV 5))
           (SETFIELD AV 'R 100.5) (XPRINT-REAL (DOT RECV 'X))
           (XPRINT-STRING (DOT (DOT RECV 'RR) 'S))
           (XSETQ ARAV
                  (XQUOTE ((1 (10 11 12)) (2 (20 21 22)) (3 (30 32 31))
                           "xyz")))
           (XPRINT-INT (INDEX (DOT (INDEX ARAV 2.5) 'B) "xyz"))
           (XSETQ IV FF) (XSETQ RV (IV 10 20)))
          FUN)
  (OK ((IP INT) (RP REAL) (SP STRING) (BV INT) (T1P T1) (T3P T3)) NIL
      NIL
      ((XSETQ IV 10) (XSETQ RV 10.5) (XSETQ SV "xyz") (XSETQ IP IV)
       (XSETQ RP RV) (XSETQ SP SV) (XSETQ BV 10) (XSETQ T1P 20)
       (XSETQ T3P T1P) (XSETQ AV (XQUOTE (1 2 3 4 5 6 7 8 9 10)))
       (XSETQ AV10 AV) (XSETQ RECV (XQUOTE (1 1.5 "xyz" T)))
       (XSETQ RRECV (XQUOTE (1 1.5 "abc" T (10 10.5 "def" NIL))))
       (XSETQ RECV2 RECV) (XSETQ B1V (XSETQ B1V B2V))
       (XSETQ IV (XPLUS 2 2))
       (XSETQ IV
              (XPLUS (XPLUS (XTIMES (XPLUS IV 10) (XPLUS IV 20))
                            (XTIMES (XPLUS IV 30) (XPLUS IV 40)))
                     50))
       (XSETQ AV (SETELEM AV 4 5)) (XPRINT-INT (INDEX AV 4))
       (XSETQ AV10 (SETELEM AV10 4 50)) (XPRINT-INT (INDEX AV 4))
       (XPRINT-INT (INDEX AV10 4)) (SETFIELD RECV 'R 100.5)
       (XPRINT-REAL (DOT RECV 'R))
       (XPRINT-STRING (DOT (DOT RRECV 'RR) 'S))
       (XSETQ ARAV
              (XQUOTE ((1 (10 11 12)) (2 (20 21 22)) (3 (30 32 31)))))
       (XPRINT-INT (INDEX (DOT (INDEX ARAV 1) 'A) 2)) (XSETQ FV FF)
       (XSETQ RV (FV 10 20)))
      FUN)
  (FF ((M INT) (N INT)) (REAL) NIL ((XPLUS M N) (XTIMES M N) 1.5) FUN)
  (XTIMES ((I INT) (J INT)) (INT) NIL ((* I J)) FUN)
  (XPLUS ((I INT) (J INT)) (INT) NIL ((+ I J)) FUN)
  (XPRINT-BOOL ((X BOOL)) (BOOL) NIL ((PRINT X)) FUN)
  (XPRINT-STRING ((X STRING)) (STRING) NIL ((PRINT X)) FUN)
  (XPRINT-REAL ((X REAL)) (REAL) NIL ((PRINT X)) FUN)
  (XPRINT-INT ((X INT)) (INT) NIL ((PRINT X)) FUN)
  (B3V BIG-THREE NIL VAR) (B2V BIG-TWO NIL VAR) (B1V BIG-ONE NIL VAR)
  (ARAV ARA NIL VAR) (FV F NIL VAR) (UV U NIL VAR) (RRECV RREC NIL VAR)
  (RECV2 (RECORD (I INT) (R REAL) (S STRING) (B BOOL)) NIL VAR)
  (RECV REC NIL VAR) (AV-10 A-10 NIL VAR) (AV10 A10 NIL VAR)
  (AV A NIL VAR) (BV B NIL VAR) (SV STRING NIL VAR) (RV REAL 20.5 VAR)
  (IV INT 10 VAR)
  (BIG-THREE
      (ARRAY (RECORD (A10F3 (ARRAY INT 10))
                     (RRECF3 (RECORD (I INT) (R REAL) R))
                     (UF3 (UNION (I INT) (R REAL) (S STRING) (B BOOL)))
                     (FF3 (FUNCTION ((I INT) (J INT)) (REAL)))
                     (B3 BOOL)))
      TYPE)
  (BIG-TWO (ARRAY (RECORD (A10F2 (ARRAY INT 10))
                          (RRECF2 (RECORD (I INT) (R REAL) (S STRING)
                                          (B BOOL) (R REC)))
                          (UF2 (UNION (I INT) (R REAL) (S STRING)
                                      (B BOOL)))
                          (FF2 (FUNCTION ((I INT) (J INT)) (REAL)))))
           TYPE)
  (BIG-ONE (ARRAY (RECORD (A10F A10) (RRECF RREC) (UF U) (FF F))) TYPE)
  (ARA (ARRAY (RECORD (I INT) (A (ARRAY INT)))) TYPE)
  (H (FUNCTION ((I ?T1) (J ?T2)) NIL (SUCHTHAT (EQUIV ?T1 ?T2))) TYPE)
  (G (FUNCTION ((AP A) (RP R) (RRP RR) (FP F))
         ((A10P A10) (A-10P A-10)))
     TYPE)
  (F (FUNCTION ((I INT) (J INT)) (REAL)) TYPE)
  (U (UNION (I INT) (R REAL) (S STRING) (B BOOL)) TYPE)
  (RREC (RECORD (I INT) (R REAL) (S STRING) (B BOOL) (RR REC)) TYPE)
  (REC (RECORD (I INT) (R REAL) (S STRING) (B BOOL)) TYPE)
  (A-10 (ARRAY INT (-10 10)) TYPE) (A10 (ARRAY INT 10) TYPE)
  (A (ARRAY INT) TYPE) (T3 I TYPE) (T2 T3 TYPE) (T1 T2 TYPE)
  (B BOOL TYPE) (S STRING TYPE) (R REAL TYPE) (I INT TYPE)
  (SYM SYM TYPE) (INT INT TYPE) (REAL REAL TYPE) (STRING STRING TYPE)
  (BOOL BOOL TYPE)
  (INDEX ((A (ARRAY ?X ?Y)) (I INT)) ((?Y)) CHECK-INDEX EVAL-INDEX
         BFUN)
  (SETELEM ((A (ARRAY ?X ?Y)) (I INT) (VAL ?Z)) ((ARRAY ?X ?Y))
           CHECK-SETELEM EVAL-SETELEM BFUN)
  (DOT ((R (RECORD ?X)) (F SYM)) ((?Y))
       (SUCHTHAT (FIELD-TYPE-OF ?Y (RECORD ?X))) CHECK-DOT EVAL-DOT
       BFUN)
  (SETFIELD ((R (RECORD ?X)) (F SYM) (VAL ?Y)) ((RECORD ?X))
      CHECK-SETFIELD EVAL-SETFIELD BFUN)
  (ISA ((U (UNION ?X)) (F SYM)) ((BOOL)) CHECK-ISA EVAL-ISA BFUN)
  (DOT ((U (UNION ?X)) (F SYM)) ((?Y)) CHECK-DOT EVAL-DOT BFUN)
  (TYPEOF ((X ?X)) ((T ?T)) CHECK-TYPEOF EVAL-TYPEOF BFUN)
  (EQUIV ((T1 ?T1) (T2 ?T2)) ((BOOL)) EQUIV BFUN))
 NIL)NIL

XC>