home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
historic
/
v941.tgz
/
icon.v941src.tar
/
icon.v941src
/
ipl
/
packs
/
skeem
/
test.std
< prev
Wrap
Text File
|
2001-06-21
|
26KB
|
1,181 lines
CUR-SECTION
ERRS
SECTION
RECORD-ERROR
TEST
REPORT-ERRS
SECTION(2 1)
#t
(+ - ... !.. $.+ %.- &.! *.: /:. :+. <-. =. >. ?. ~. _. ^.)
SECTION(3 4)
#t
DISJOINT-TYPE-FUNCTIONS
TYPE-EXAMPLES
I
#<procedure BOOLEAN_P>
#<procedure CHAR_P>
#<procedure NULL_P>
#<procedure NUMBER_P>
#<procedure PAIR_P>
#<procedure PROCEDURE_P>
#<procedure STRING_P>
#<procedure SYMBOL_P>
#<procedure VECTOR_P>
#<output &output>
(#t #f #f #f #f #f #f #f #f)#t
(#t #f #f #f #f #f #f #f #f)#f
(#f #t #f #f #f #f #f #f #f)#\a
(#f #f #t #f #f #f #f #f #f)()
(#f #f #f #t #f #f #f #f #f)9739
(#f #f #f #f #t #f #f #f #f)(TEST)
(#f #f #f #f #f #t #f #f #f)#<interpreted function RECORD-ERROR>
(#f #f #f #f #f #f #t #f #f)"test"
(#f #f #f #f #f #f #t #f #f)""
(#f #f #f #f #f #f #f #t #f)TEST
(#f #f #f #f #f #f #f #f #t)#()
(#f #f #f #f #f #f #f #f #t)#(A B C)
TYPE-MATRIX
SECTION(4 1 2)
#t
(QUOTE (QUOTE A)) ==> (QUOTE A)
#t
(QUOTE (QUOTE A)) ==> (QUOTE A)
#t
SECTION(4 1 3)
#t
(#<procedure MULTIPLY> 3 4) ==> 12
#t
SECTION(4 1 4)
#t
(#<interpreted function ???> 4) ==> 8
#t
REVERSE-SUBTRACT
(#<interpreted function REVERSE-SUBTRACT> 7 10) ==> 3
#t
ADD4
(#<interpreted function ADD4> 6) ==> 10
#t
(#<interpreted function ???> 3 4 5 6) ==> (3 4 5 6)
#t
(#<interpreted function ???> 3 4 5 6) ==> (5 6)
#t
SECTION(4 1 5)
#t
(IF YES) ==> YES
#t
(IF NO) ==> NO
#t
(IF 1) ==> 1
#t
SECTION(4 1 6)
#t
X
(DEFINE 3) ==> 3
#t
4
(SET! 5) ==> 5
#t
SECTION(4 2 1)
#t
(COND GREATER) ==> GREATER
#t
(COND EQUAL) ==> EQUAL
#t
(COND 2) ==> 2
#t
(CASE COMPOSITE) ==> COMPOSITE
#t
(CASE CONSONANT) ==> CONSONANT
#t
(AND #t) ==> #t
#t
(AND #f) ==> #f
#t
(AND (F G)) ==> (F G)
#t
(AND #t) ==> #t
#t
(OR #t) ==> #t
#t
(OR #t) ==> #t
#t
(OR #f) ==> #f
#t
(OR #f) ==> #f
#t
(OR (B C)) ==> (B C)
#t
SECTION(4 2 2)
#t
(LET 6) ==> 6
#t
(LET 35) ==> 35
#t
(LET* 70) ==> 70
#t
(LETREC #t) ==> #t
#t
X
(LET 5) ==> 5
#t
(LET 34) ==> 34
#t
(LET 6) ==> 6
#t
(LET 34) ==> 34
#t
(LET* 7) ==> 7
#t
(LET* 34) ==> 34
#t
(LET* 8) ==> 8
#t
(LET* 34) ==> 34
#t
(LETREC 9) ==> 9
#t
(LETREC 34) ==> 34
#t
(LETREC 10) ==> 10
#t
(LETREC 34) ==> 34
#t
SECTION(4 2 3)
#t
X
(BEGIN 6) ==> 6
#t
SECTION(4 2 4)
#t
(DO #(0 1 2 3 4)) ==> #(0 1 2 3 4)
#t
(DO 25) ==> 25
#t
(LET 1) ==> 1
#t
(LET ((6 1 3) (-5 -2))) ==> ((6 1 3) (-5 -2))
#t
SECTION(4 2 6)
#t
(QUASIQUOTE (LIST 3 4)) ==> (LIST 3 4)
#t
(QUASIQUOTE (LIST A (QUOTE A))) ==> (LIST A (QUOTE A))
#t
(QUASIQUOTE (A 3 4 5 6 B)) ==> (A 3 4 5 6 B)
#t
(QUASIQUOTE ((FOO 7) . CONS)) ==> ((FOO 7) . CONS)
#t
SQT
(QUASIQUOTE #(10 5 2 4 3 8)) ==> #(10 5 2 4 3 8)
#t
(QUASIQUOTE 5) ==> 5
#t
(QUASIQUOTE (A (QUASIQUOTE (B (UNQUOTE (+ 1 2)) (UNQUOTE (FOO 4 D)) E)) F)) ==> (A (QUASIQUOTE (B (UNQUOTE (+ 1 2)) (UNQUOTE (FOO 4 D)) E)) F)
#t
(QUASIQUOTE (A (QUASIQUOTE (B (UNQUOTE X) (UNQUOTE (QUOTE Y)) D)) E)) ==> (A (QUASIQUOTE (B (UNQUOTE X) (UNQUOTE (QUOTE Y)) D)) E)
#t
(QUASIQUOTE (LIST 3 4)) ==> (LIST 3 4)
#t
(QUASIQUOTE (QUASIQUOTE (LIST (UNQUOTE (+ 1 2)) 4))) ==> (QUASIQUOTE (LIST (UNQUOTE (+ 1 2)) 4))
#t
SECTION(5 2 1)
#t
ADD3
(DEFINE 6) ==> 6
#t
FIRST
(DEFINE 1) ==> 1
#t
SECTION(5 2 2)
#t
(DEFINE 45) ==> 45
#t
X
FOO
(#<interpreted function FOO>) ==> 5
#t
(DEFINE 34) ==> 34
#t
FOO
(#<interpreted function FOO>) ==> 5
#t
(DEFINE 34) ==> 34
#t
FOO
(#<interpreted function FOO> 88) ==> 88
#t
(#<interpreted function FOO> 4) ==> 4
#t
(DEFINE 34) ==> 34
#t
SECTION(6 1)
#t
(#<procedure NOT> #t) ==> #f
#t
(#<procedure NOT> 3) ==> #f
#t
(#<procedure NOT> (3)) ==> #f
#t
(#<procedure NOT> #f) ==> #t
#t
(#<procedure NOT> ()) ==> #f
#t
(#<procedure NOT> ()) ==> #f
#t
(#<procedure NOT> NIL) ==> #f
#t
(#<procedure BOOLEAN_P> #f) ==> #t
#t
(#<procedure BOOLEAN_P> 0) ==> #f
#t
(#<procedure BOOLEAN_P> ()) ==> #f
#t
SECTION(6 2)
#t
(#<procedure EQV_P> A A) ==> #t
#t
(#<procedure EQV_P> A B) ==> #f
#t
(#<procedure EQV_P> 2 2) ==> #t
#t
(#<procedure EQV_P> () ()) ==> #t
#t
(#<procedure EQV_P> 10000 10000) ==> #t
#t
(#<procedure EQV_P> (1 . 2) (1 . 2)) ==> #f
#t
(#<procedure EQV_P> #<interpreted function ???> #<interpreted function ???>) ==> #f
#t
(#<procedure EQV_P> #f NIL) ==> #f
#t
(#<procedure EQV_P> #<interpreted function ???> #<interpreted function ???>) ==> #t
#t
GEN-COUNTER
(#<procedure EQV_P> #<interpreted function ???> #<interpreted function ???>) ==> #t
#t
(#<procedure EQV_P> #<interpreted function ???> #<interpreted function ???>) ==> #f
#t
(#<procedure EQV_P> #<interpreted function ???> #<interpreted function ???>) ==> #f
#t
(#<procedure EQ_P> A A) ==> #t
#t
(#<procedure EQ_P> (A) (A)) ==> #f
#t
(#<procedure EQ_P> () ()) ==> #t
#t
(#<procedure EQ_P> #<procedure CAR> #<procedure CAR>) ==> #t
#t
(#<procedure EQ_P> (A) (A)) ==> #t
#t
(#<procedure EQ_P> #() #()) ==> #t
#t
(#<procedure EQ_P> #<interpreted function ???> #<interpreted function ???>) ==> #t
#t
(#<procedure EQUAL_P> A A) ==> #t
#t
(#<procedure EQUAL_P> (A) (A)) ==> #t
#t
(#<procedure EQUAL_P> (A (B) C) (A (B) C)) ==> #t
#t
(#<procedure EQUAL_P> "abc" "abc") ==> #t
#t
(#<procedure EQUAL_P> 2 2) ==> #t
#t
(#<procedure EQUAL_P> #(A A A A A) #(A A A A A)) ==> #t
#t
SECTION(6 3)
#t
(DOT (A B C D E)) ==> (A B C D E)
#t
X
Y
(#<procedure LIST_P> (A B C)) ==> #t
#t
4
(SET-CDR! (A . 4)) ==> (A . 4)
#t
(#<procedure EQV_P> (A . 4) (A . 4)) ==> #t
#t
(DOT (A B C . D)) ==> (A B C . D)
#t
(#<procedure LIST_P> (A . 4)) ==> #f
#t
(LIST? #f) ==> #f
#t
(#<procedure PAIR_P> (A . B)) ==> #t
#t
(#<procedure PAIR_P> (A . 1)) ==> #t
#t
(#<procedure PAIR_P> (A B C)) ==> #t
#t
(#<procedure PAIR_P> ()) ==> #f
#t
(#<procedure PAIR_P> #(A B)) ==> #f
#t
(#<procedure CONS> A ()) ==> (A)
#t
(#<procedure CONS> (A) (B C D)) ==> ((A) B C D)
#t
(#<procedure CONS> "a" (B C)) ==> ("a" B C)
#t
(#<procedure CONS> A 3) ==> (A . 3)
#t
(#<procedure CONS> (A B) C) ==> ((A B) . C)
#t
(#<procedure CAR> (A B C)) ==> A
#t
(#<procedure CAR> ((A) B C D)) ==> (A)
#t
(#<procedure CAR> (1 . 2)) ==> 1
#t
(#<procedure CDR> ((A) B C D)) ==> (B C D)
#t
(#<procedure CDR> (1 . 2)) ==> 2
#t
(#<procedure LIST> A 7 C) ==> (A 7 C)
#t
(#<procedure LIST>) ==> ()
#t
(#<procedure LENGTH> (A B C)) ==> 3
#t
(#<procedure LENGTH> (A (B) (C D E))) ==> 3
#t
(#<procedure LENGTH> ()) ==> 0
#t
(#<procedure APPEND> (X) (Y)) ==> (X Y)
#t
(#<procedure APPEND> (A) (B C D)) ==> (A B C D)
#t
(#<procedure APPEND> (A (B)) ((C))) ==> (A (B) (C))
#t
(#<procedure APPEND>) ==> ()
#t
(#<procedure APPEND> (A B) (C . D)) ==> (A B C . D)
#t
(#<procedure APPEND> () A) ==> A
#t
(#<procedure REVERSE> (A B C)) ==> (C B A)
#t
(#<procedure REVERSE> (A (B C) D (E (F)))) ==> ((E (F)) D (B C) A)
#t
(#<procedure LIST_REF> (A B C D) 2) ==> C
#t
(#<procedure MEMQ> A (A B C)) ==> (A B C)
#t
(#<procedure MEMQ> B (A B C)) ==> (B C)
#t
(#<procedure MEMQ> A (B C D)) ==> #f
#t
(#<procedure MEMQ> (A) (B (A) C)) ==> #f
#t
(#<procedure MEMBER> (A) (B (A) C)) ==> ((A) C)
#t
(#<procedure MEMV> 101 (100 101 102)) ==> (101 102)
#t
E
(#<procedure ASSQ> A ((A 1) (B 2) (C 3))) ==> (A 1)
#t
(#<procedure ASSQ> B ((A 1) (B 2) (C 3))) ==> (B 2)
#t
(#<procedure ASSQ> D ((A 1) (B 2) (C 3))) ==> #f
#t
(#<procedure ASSQ> (A) (((A)) ((B)) ((C)))) ==> #f
#t
(#<procedure ASSOC> (A) (((A)) ((B)) ((C)))) ==> ((A))
#t
(#<procedure ASSV> 5 ((2 3) (5 7) (11 13))) ==> (5 7)
#t
SECTION(6 4)
#t
(#<procedure SYMBOL_P> FOO) ==> #t
#t
(#<procedure SYMBOL_P> A) ==> #t
#t
(#<procedure SYMBOL_P> "bar") ==> #f
#t
(#<procedure SYMBOL_P> NIL) ==> #t
#t
(#<procedure SYMBOL_P> ()) ==> #f
#t
(#<procedure SYMBOL_P> #f) ==> #f
#t
CHAR-STANDARD-CASE
#f
(STANDARD-CASE #t) ==> #t
#t
(STANDARD-CASE #t) ==> #t
#t
STR-COPY
STRING-STANDARD-CASE
(#<procedure SYMBOL_2_STRING> FLYING-FISH) ==> "FLYING-FISH"
#t
(#<procedure SYMBOL_2_STRING> MARTIN) ==> "MARTIN"
#t
(#<procedure SYMBOL_2_STRING> |Malvina|) ==> "Malvina"
#t
(STANDARD-CASE #t) ==> #t
#t
X
Y
"cb"
(STRING-SET! "cb") ==> "cb"
#t
(#<procedure SYMBOL_2_STRING> |ab|) ==> "ab"
#t
(#<procedure STRING_2_SYMBOL> "ab") ==> |ab|
#t
(#<procedure EQ_P> MISSISSIPPI MISSISSIPPI) ==> #t
#t
(STRING->SYMBOL #f) ==> #f
#t
(#<procedure STRING_2_SYMBOL> "JOLLYWOG") ==> JOLLYWOG
#t
SECTION(6 5 5)
#t
(#<procedure NUMBER_P> 3) ==> #t
#t
(#<procedure COMPLEX_P> 3) ==> #t
#t
(#<procedure REAL_P> 3) ==> #t
#t
(#<procedure RATIONAL_P> 3) ==> #t
#t
(#<procedure INTEGER_P> 3) ==> #t
#t
(#<procedure EXACT_P> 3) ==> #t
#t
(#<procedure INEXACT_P> 3) ==> #f
#t
(#<procedure EQ> 22 22 22) ==> #t
#t
(#<procedure EQ> 22 22) ==> #t
#t
(#<procedure EQ> 34 34 35) ==> #f
#t
(#<procedure EQ> 34 35) ==> #f
#t
(#<procedure GT> 3 -6246) ==> #t
#t
(#<procedure GT> 9 9 -2424) ==> #f
#t
(#<procedure GE> 3 -4 -6246) ==> #t
#t
(#<procedure GE> 9 9) ==> #t
#t
(#<procedure GE> 8 9) ==> #f
#t
(#<procedure LT> -1 2 3 4 5 6 7 8) ==> #t
#t
(#<procedure LT> -1 2 3 4 4 5 6 7) ==> #f
#t
(#<procedure LE> -1 2 3 4 5 6 7 8) ==> #t
#t
(#<procedure LE> -1 2 3 4 4 5 6 7) ==> #t
#t
(#<procedure LT> 1 3 2) ==> #f
#t
(#<procedure GE> 1 3 2) ==> #f
#t
(#<procedure ZERO_P> 0) ==> #t
#t
(#<procedure ZERO_P> 1) ==> #f
#t
(#<procedure ZERO_P> -1) ==> #f
#t
(#<procedure ZERO_P> -100) ==> #f
#t
(#<procedure POSITIVE_P> 4) ==> #t
#t
(#<procedure POSITIVE_P> -4) ==> #f
#t
(#<procedure POSITIVE_P> 0) ==> #f
#t
(#<procedure NEGATIVE_P> 4) ==> #f
#t
(#<procedure NEGATIVE_P> -4) ==> #t
#t
(#<procedure NEGATIVE_P> 0) ==> #f
#t
(#<procedure ODD_P> 3) ==> #t
#t
(#<procedure ODD_P> 2) ==> #f
#t
(#<procedure ODD_P> -4) ==> #f
#t
(#<procedure ODD_P> -1) ==> #t
#t
(#<procedure EVEN_P> 3) ==> #f
#t
(#<procedure EVEN_P> 2) ==> #t
#t
(#<procedure EVEN_P> -4) ==> #t
#t
(#<procedure EVEN_P> -1) ==> #f
#t
(#<procedure MAX> 34 5 7 38 6) ==> 38
#t
(#<procedure MIN> 3 5 5 330 4 -24) ==> -24
#t
(#<procedure ADD> 3 4) ==> 7
#t
(#<procedure ADD> 3) ==> 3
#t
(#<procedure ADD>) ==> 0
#t
(#<procedure MULTIPLY> 4) ==> 4
#t
(#<procedure MULTIPLY>) ==> 1
#t
(#<procedure SUBTRACT> 3 4) ==> -1
#t
(#<procedure SUBTRACT> 3) ==> -3
#t
(#<procedure ABS> -7) ==> 7
#t
(#<procedure ABS> 7) ==> 7
#t
(#<procedure ABS> 0) ==> 0
#t
(#<procedure QUOTIENT> 35 7) ==> 5
#t
(#<procedure QUOTIENT> -35 7) ==> -5
#t
(#<procedure QUOTIENT> 35 -7) ==> -5
#t
(#<procedure QUOTIENT> -35 -7) ==> 5
#t
(#<procedure MODULO> 13 4) ==> 1
#t
(#<procedure REMAINDER> 13 4) ==> 1
#t
(#<procedure MODULO> -13 4) ==> 3
#t
(#<procedure REMAINDER> -13 4) ==> -1
#t
(#<procedure MODULO> 13 -4) ==> -3
#t
(#<procedure REMAINDER> 13 -4) ==> 1
#t
(#<procedure MODULO> -13 -4) ==> -1
#t
(#<procedure REMAINDER> -13 -4) ==> -1
#t
DIVTEST
(#<interpreted function DIVTEST> 238 9) ==> #t
#t
(#<interpreted function DIVTEST> -238 9) ==> #t
#t
(#<interpreted function DIVTEST> 238 -9) ==> #t
#t
(#<interpreted function DIVTEST> -238 -9) ==> #t
#t
(#<procedure GCD> 0 4) ==> 4
#t
(#<procedure GCD> -4 0) ==> 4
#t
(#<procedure GCD> 32 -36) ==> 4
#t
(#<procedure GCD>) ==> 0
#t
(#<procedure LCM> 32 -36) ==> 288
#t
(#<procedure LCM>) ==> 1
#t
TEST-INEXACT
TEST-BIGNUM
SECTION(6 5 6)
#t
(#<procedure NUMBER_2_STRING> 0) ==> "0"
#t
(#<procedure NUMBER_2_STRING> 100) ==> "100"
#t
(#<procedure NUMBER_2_STRING> 256 16) ==> "100"
#t
(#<procedure STRING_2_NUMBER> "100") ==> 100
#t
(#<procedure STRING_2_NUMBER> "100" 16) ==> 256
#t
(#<procedure STRING_2_NUMBER> "") ==> #f
#t
(#<procedure STRING_2_NUMBER> ".") ==> #f
#t
(#<procedure STRING_2_NUMBER> "d") ==> #f
#t
(#<procedure STRING_2_NUMBER> "D") ==> #f
#t
(#<procedure STRING_2_NUMBER> "i") ==> #f
#t
(#<procedure STRING_2_NUMBER> "I") ==> #f
#t
(#<procedure STRING_2_NUMBER> "3i") ==> #f
#t
(#<procedure STRING_2_NUMBER> "3I") ==> #f
#t
(#<procedure STRING_2_NUMBER> "33i") ==> #f
#t
(#<procedure STRING_2_NUMBER> "33I") ==> #f
#t
(#<procedure STRING_2_NUMBER> "3.3i") ==> #f
#t
(#<procedure STRING_2_NUMBER> "3.3I") ==> #f
#t
(#<procedure STRING_2_NUMBER> "-") ==> #f
#t
(#<procedure STRING_2_NUMBER> "+") ==> #f
#t
SECTION(6 6)
#t
(#<procedure EQV_P> #\space #\space) ==> #t
#t
(#<procedure EQV_P> #\space #\space) ==> #t
#t
(#<procedure CHAR_P> #\a) ==> #t
#t
(#<procedure CHAR_P> #\() ==> #t
#t
(#<procedure CHAR_P> #\space) ==> #t
#t
(#<procedure CHAR_P> #\newline) ==> #t
#t
(#<procedure CHAR_EQ> #\A #\B) ==> #f
#t
(#<procedure CHAR_EQ> #\a #\b) ==> #f
#t
(#<procedure CHAR_EQ> #\9 #\0) ==> #f
#t
(#<procedure CHAR_EQ> #\A #\A) ==> #t
#t
(#<procedure CHAR_LT> #\A #\B) ==> #t
#t
(#<procedure CHAR_LT> #\a #\b) ==> #t
#t
(#<procedure CHAR_LT> #\9 #\0) ==> #f
#t
(#<procedure CHAR_LT> #\A #\A) ==> #f
#t
(#<procedure CHAR_GT> #\A #\B) ==> #f
#t
(#<procedure CHAR_GT> #\a #\b) ==> #f
#t
(#<procedure CHAR_GT> #\9 #\0) ==> #t
#t
(#<procedure CHAR_GT> #\A #\A) ==> #f
#t
(#<procedure CHAR_LE> #\A #\B) ==> #t
#t
(#<procedure CHAR_LE> #\a #\b) ==> #t
#t
(#<procedure CHAR_LE> #\9 #\0) ==> #f
#t
(#<procedure CHAR_LE> #\A #\A) ==> #t
#t
(#<procedure CHAR_GE> #\A #\B) ==> #f
#t
(#<procedure CHAR_GE> #\a #\b) ==> #f
#t
(#<procedure CHAR_GE> #\9 #\0) ==> #t
#t
(#<procedure CHAR_GE> #\A #\A) ==> #t
#t
(#<procedure CHAR_CI_EQ> #\A #\B) ==> #f
#t
(#<procedure CHAR_CI_EQ> #\a #\B) ==> #f
#t
(#<procedure CHAR_CI_EQ> #\A #\b) ==> #f
#t
(#<procedure CHAR_CI_EQ> #\a #\b) ==> #f
#t
(#<procedure CHAR_CI_EQ> #\9 #\0) ==> #f
#t
(#<procedure CHAR_CI_EQ> #\A #\A) ==> #t
#t
(#<procedure CHAR_CI_EQ> #\A #\a) ==> #t
#t
(#<procedure CHAR_CI_LT> #\A #\B) ==> #t
#t
(#<procedure CHAR_CI_LT> #\a #\B) ==> #t
#t
(#<procedure CHAR_CI_LT> #\A #\b) ==> #t
#t
(#<procedure CHAR_CI_LT> #\a #\b) ==> #t
#t
(#<procedure CHAR_CI_LT> #\9 #\0) ==> #f
#t
(#<procedure CHAR_CI_LT> #\A #\A) ==> #f
#t
(#<procedure CHAR_CI_LT> #\A #\a) ==> #f
#t
(#<procedure CHAR_CI_GT> #\A #\B) ==> #f
#t
(#<procedure CHAR_CI_GT> #\a #\B) ==> #f
#t
(#<procedure CHAR_CI_GT> #\A #\b) ==> #f
#t
(#<procedure CHAR_CI_GT> #\a #\b) ==> #f
#t
(#<procedure CHAR_CI_GT> #\9 #\0) ==> #t
#t
(#<procedure CHAR_CI_GT> #\A #\A) ==> #f
#t
(#<procedure CHAR_CI_GT> #\A #\a) ==> #f
#t
(#<procedure CHAR_CI_LE> #\A #\B) ==> #t
#t
(#<procedure CHAR_CI_LE> #\a #\B) ==> #t
#t
(#<procedure CHAR_CI_LE> #\A #\b) ==> #t
#t
(#<procedure CHAR_CI_LE> #\a #\b) ==> #t
#t
(#<procedure CHAR_CI_LE> #\9 #\0) ==> #f
#t
(#<procedure CHAR_CI_LE> #\A #\A) ==> #t
#t
(#<procedure CHAR_CI_LE> #\A #\a) ==> #t
#t
(#<procedure CHAR_CI_GE> #\A #\B) ==> #f
#t
(#<procedure CHAR_CI_GE> #\a #\B) ==> #f
#t
(#<procedure CHAR_CI_GE> #\A #\b) ==> #f
#t
(#<procedure CHAR_CI_GE> #\a #\b) ==> #f
#t
(#<procedure CHAR_CI_GE> #\9 #\0) ==> #t
#t
(#<procedure CHAR_CI_GE> #\A #\A) ==> #t
#t
(#<procedure CHAR_CI_GE> #\A #\a) ==> #t
#t
(#<procedure CHAR_ALPHABETIC_P> #\a) ==> #t
#t
(#<procedure CHAR_ALPHABETIC_P> #\A) ==> #t
#t
(#<procedure CHAR_ALPHABETIC_P> #\z) ==> #t
#t
(#<procedure CHAR_ALPHABETIC_P> #\Z) ==> #t
#t
(#<procedure CHAR_ALPHABETIC_P> #\0) ==> #f
#t
(#<procedure CHAR_ALPHABETIC_P> #\9) ==> #f
#t
(#<procedure CHAR_ALPHABETIC_P> #\space) ==> #f
#t
(#<procedure CHAR_ALPHABETIC_P> #\;) ==> #f
#t
(#<procedure CHAR_NUMERIC_P> #\a) ==> #f
#t
(#<procedure CHAR_NUMERIC_P> #\A) ==> #f
#t
(#<procedure CHAR_NUMERIC_P> #\z) ==> #f
#t
(#<procedure CHAR_NUMERIC_P> #\Z) ==> #f
#t
(#<procedure CHAR_NUMERIC_P> #\0) ==> #t
#t
(#<procedure CHAR_NUMERIC_P> #\9) ==> #t
#t
(#<procedure CHAR_NUMERIC_P> #\space) ==> #f
#t
(#<procedure CHAR_NUMERIC_P> #\;) ==> #f
#t
(#<procedure CHAR_WHITESPACE_P> #\a) ==> #f
#t
(#<procedure CHAR_WHITESPACE_P> #\A) ==> #f
#t
(#<procedure CHAR_WHITESPACE_P> #\z) ==> #f
#t
(#<procedure CHAR_WHITESPACE_P> #\Z) ==> #f
#t
(#<procedure CHAR_WHITESPACE_P> #\0) ==> #f
#t
(#<procedure CHAR_WHITESPACE_P> #\9) ==> #f
#t
(#<procedure CHAR_WHITESPACE_P> #\space) ==> #t
#t
(#<procedure CHAR_WHITESPACE_P> #\;) ==> #f
#t
(#<procedure CHAR_UPPER_CASE_P> #\0) ==> #f
#t
(#<procedure CHAR_UPPER_CASE_P> #\9) ==> #f
#t
(#<procedure CHAR_UPPER_CASE_P> #\space) ==> #f
#t
(#<procedure CHAR_UPPER_CASE_P> #\;) ==> #f
#t
(#<procedure CHAR_LOWER_CASE_P> #\0) ==> #f
#t
(#<procedure CHAR_LOWER_CASE_P> #\9) ==> #f
#t
(#<procedure CHAR_LOWER_CASE_P> #\space) ==> #f
#t
(#<procedure CHAR_LOWER_CASE_P> #\;) ==> #f
#t
(#<procedure INTEGER_2_CHAR> 46) ==> #\.
#t
(#<procedure INTEGER_2_CHAR> 65) ==> #\A
#t
(#<procedure INTEGER_2_CHAR> 97) ==> #\a
#t
(#<procedure CHAR_UPCASE> #\A) ==> #\A
#t
(#<procedure CHAR_UPCASE> #\a) ==> #\A
#t
(#<procedure CHAR_DOWNCASE> #\A) ==> #\a
#t
(#<procedure CHAR_DOWNCASE> #\a) ==> #\a
#t
SECTION(6 7)
#t
(#<procedure STRING_P> "The word \"recursion\\\" has many meanings.") ==> #t
#t
(#<procedure STRING_P> "") ==> #t
#t
F
(STRING-SET! "?**") ==> "?**"
#t
(#<procedure STRING> #\a #\b #\c) ==> "abc"
#t
(#<procedure STRING>) ==> ""
#t
(#<procedure STRING_LENGTH> "abc") ==> 3
#t
(#<procedure STRING_REF> "abc" 0) ==> #\a
#t
(#<procedure STRING_REF> "abc" 2) ==> #\c
#t
(#<procedure STRING_LENGTH> "") ==> 0
#t
(#<procedure SUBSTRING> "ab" 0 0) ==> ""
#t
(#<procedure SUBSTRING> "ab" 1 1) ==> ""
#t
(#<procedure SUBSTRING> "ab" 2 2) ==> ""
#t
(#<procedure SUBSTRING> "ab" 0 1) ==> "a"
#t
(#<procedure SUBSTRING> "ab" 1 2) ==> "b"
#t
(#<procedure SUBSTRING> "ab" 0 2) ==> "ab"
#t
(#<procedure STRING_APPEND> "foo" "bar") ==> "foobar"
#t
(#<procedure STRING_APPEND> "foo") ==> "foo"
#t
(#<procedure STRING_APPEND> "foo" "") ==> "foo"
#t
(#<procedure STRING_APPEND> "" "foo") ==> "foo"
#t
(#<procedure STRING_APPEND>) ==> ""
#t
(#<procedure MAKE_STRING> 0) ==> ""
#t
(#<procedure STRING_EQ> "" "") ==> #t
#t
(#<procedure STRING_LT> "" "") ==> #f
#t
(#<procedure STRING_GT> "" "") ==> #f
#t
(#<procedure STRING_LE> "" "") ==> #t
#t
(#<procedure STRING_GE> "" "") ==> #t
#t
(#<procedure STRING_CI_EQ> "" "") ==> #t
#t
(#<procedure STRING_CI_LT> "" "") ==> #f
#t
(#<procedure STRING_CI_GT> "" "") ==> #f
#t
(#<procedure STRING_CI_LE> "" "") ==> #t
#t
(#<procedure STRING_CI_GE> "" "") ==> #t
#t
(#<procedure STRING_EQ> "A" "B") ==> #f
#t
(#<procedure STRING_EQ> "a" "b") ==> #f
#t
(#<procedure STRING_EQ> "9" "0") ==> #f
#t
(#<procedure STRING_EQ> "A" "A") ==> #t
#t
(#<procedure STRING_LT> "A" "B") ==> #t
#t
(#<procedure STRING_LT> "a" "b") ==> #t
#t
(#<procedure STRING_LT> "9" "0") ==> #f
#t
(#<procedure STRING_LT> "A" "A") ==> #f
#t
(#<procedure STRING_GT> "A" "B") ==> #f
#t
(#<procedure STRING_GT> "a" "b") ==> #f
#t
(#<procedure STRING_GT> "9" "0") ==> #t
#t
(#<procedure STRING_GT> "A" "A") ==> #f
#t
(#<procedure STRING_LE> "A" "B") ==> #t
#t
(#<procedure STRING_LE> "a" "b") ==> #t
#t
(#<procedure STRING_LE> "9" "0") ==> #f
#t
(#<procedure STRING_LE> "A" "A") ==> #t
#t
(#<procedure STRING_GE> "A" "B") ==> #f
#t
(#<procedure STRING_GE> "a" "b") ==> #f
#t
(#<procedure STRING_GE> "9" "0") ==> #t
#t
(#<procedure STRING_GE> "A" "A") ==> #t
#t
(#<procedure STRING_CI_EQ> "A" "B") ==> #f
#t
(#<procedure STRING_CI_EQ> "a" "B") ==> #f
#t
(#<procedure STRING_CI_EQ> "A" "b") ==> #f
#t
(#<procedure STRING_CI_EQ> "a" "b") ==> #f
#t
(#<procedure STRING_CI_EQ> "9" "0") ==> #f
#t
(#<procedure STRING_CI_EQ> "A" "A") ==> #t
#t
(#<procedure STRING_CI_EQ> "A" "a") ==> #t
#t
(#<procedure STRING_CI_LT> "A" "B") ==> #t
#t
(#<procedure STRING_CI_LT> "a" "B") ==> #t
#t
(#<procedure STRING_CI_LT> "A" "b") ==> #t
#t
(#<procedure STRING_CI_LT> "a" "b") ==> #t
#t
(#<procedure STRING_CI_LT> "9" "0") ==> #f
#t
(#<procedure STRING_CI_LT> "A" "A") ==> #f
#t
(#<procedure STRING_CI_LT> "A" "a") ==> #f
#t
(#<procedure STRING_CI_GT> "A" "B") ==> #f
#t
(#<procedure STRING_CI_GT> "a" "B") ==> #f
#t
(#<procedure STRING_CI_GT> "A" "b") ==> #f
#t
(#<procedure STRING_CI_GT> "a" "b") ==> #f
#t
(#<procedure STRING_CI_GT> "9" "0") ==> #t
#t
(#<procedure STRING_CI_GT> "A" "A") ==> #f
#t
(#<procedure STRING_CI_GT> "A" "a") ==> #f
#t
(#<procedure STRING_CI_LE> "A" "B") ==> #t
#t
(#<procedure STRING_CI_LE> "a" "B") ==> #t
#t
(#<procedure STRING_CI_LE> "A" "b") ==> #t
#t
(#<procedure STRING_CI_LE> "a" "b") ==> #t
#t
(#<procedure STRING_CI_LE> "9" "0") ==> #f
#t
(#<procedure STRING_CI_LE> "A" "A") ==> #t
#t
(#<procedure STRING_CI_LE> "A" "a") ==> #t
#t
(#<procedure STRING_CI_GE> "A" "B") ==> #f
#t
(#<procedure STRING_CI_GE> "a" "B") ==> #f
#t
(#<procedure STRING_CI_GE> "A" "b") ==> #f
#t
(#<procedure STRING_CI_GE> "a" "b") ==> #f
#t
(#<procedure STRING_CI_GE> "9" "0") ==> #t
#t
(#<procedure STRING_CI_GE> "A" "A") ==> #t
#t
(#<procedure STRING_CI_GE> "A" "a") ==> #t
#t
SECTION(6 8)
#t
(#<procedure VECTOR_P> #(0 (2 2 2 2) "Anna")) ==> #t
#t
(#<procedure VECTOR_P> #()) ==> #t
#t
(#<procedure VECTOR> A B C) ==> #(A B C)
#t
(#<procedure VECTOR>) ==> #()
#t
(#<procedure VECTOR_LENGTH> #(0 (2 2 2 2) "Anna")) ==> 3
#t
(#<procedure VECTOR_LENGTH> #()) ==> 0
#t
(#<procedure VECTOR_REF> #(1 1 2 3 5 8 13 21) 5) ==> 8
#t
(VECTOR-SET #(0 ("Sue" "Sue") "Anna")) ==> #(0 ("Sue" "Sue") "Anna")
#t
(#<procedure MAKE_VECTOR> 2 HI) ==> #(HI HI)
#t
(#<procedure MAKE_VECTOR> 0) ==> #()
#t
(#<procedure MAKE_VECTOR> 0 A) ==> #()
#t
SECTION(6 9)
#t
(#<procedure PROCEDURE_P> #<procedure CAR>) ==> #t
#t
(#<procedure PROCEDURE_P> CAR) ==> #f
#t
(#<procedure PROCEDURE_P> #<interpreted function ???>) ==> #t
#t
(#<procedure PROCEDURE_P> (LAMBDA (X) (* X X))) ==> #f
#t
(#<procedure CALL_WITH_CURRENT_CONTINUATION> #<procedure PROCEDURE_P>) ==> #t
#t
(#<procedure APPLY> #<procedure ADD> (3 4)) ==> 7
#t
(#<procedure APPLY> #<interpreted function ???> (3 4)) ==> 7
#t
(#<procedure APPLY> #<procedure ADD> 10 (3 4)) ==> 17
#t
(#<procedure APPLY> #<procedure LIST> ()) ==> ()
#t
COMPOSE
(#<interpreted function ???> 12 75) ==> 30
#t
(#<procedure MAP> #<procedure CXXR> ((A B) (D E) (G H))) ==> (B E H)
#t
(#<procedure MAP> #<procedure ADD> (1 2 3) (4 5 6)) ==> (5 7 9)
#t
(FOR-EACH #(0 1 4 9 16)) ==> #(0 1 4 9 16)
#t
(#<procedure CALL_WITH_CURRENT_CONTINUATION> #<interpreted function ???>) ==> -3
#t
LIST-LENGTH
(#<interpreted function LIST-LENGTH> (1 2 3 4)) ==> 4
#t
(#<interpreted function LIST-LENGTH> (A B . C)) ==> #f
#t
(#<procedure MAP> #<procedure CXXR> ()) ==> ()
#t
NEXT-LEAF-GENERATOR
LEAF-EQ?
TEST-CONT
TEST-DELAY
SECTION(6 10 1)
#t
(#<procedure INPUT_PORT_P> #<input &input>) ==> #t
#t
(#<procedure OUTPUT_PORT_P> #<output &output>) ==> #t
#t
(#<procedure CALL_WITH_INPUT_FILE> "test.scm" #<procedure INPUT_PORT_P>) ==> #t
#t
THIS-FILE
(#<procedure INPUT_PORT_P> #<input file(test.scm)>) ==> #t
#t
SECTION(6 10 2)
#t
(#<procedure PEEK_CHAR> #<input file(test.scm)>) ==> #\;
#t
(#<procedure READ_CHAR> #<input file(test.scm)>) ==> #\;
#t
(#<procedure READ> #<input file(test.scm)>) ==> (DEFINE CUR-SECTION (QUOTE ()))
#t
(#<procedure PEEK_CHAR> #<input file(test.scm)>) ==> #\(
#t
(#<procedure READ> #<input file(test.scm)>) ==> (DEFINE ERRS (QUOTE ()))
#t
#<input file(test.scm)>
#<input file(test.scm)>
CHECK-TEST-FILE
SECTION(6 10 3)
#t
WRITE-TEST-OBJ
DISPLAY-TEST-OBJ
LOAD-TEST-OBJ
(#<procedure CALL_WITH_OUTPUT_FILE> "tmp1" #<interpreted function ???>) ==> #t
#t
(#<procedure READ> #<input file(tmp1)>) ==> (DEFINE FOO (QUOTE (#t #f #\a () 9739 -3 . #((TEST) "te \" \" st" "" TEST #() B C))))
(#<procedure EOF_OBJECT_P> #<eof>) ==> #t
(#<procedure EOF_OBJECT_P> #<eof>) ==> #t
(INPUT-PORT? #t) ==> #t
(#<procedure READ_CHAR> #<input file(tmp1)>) ==> #\;
(#<procedure READ> #<input file(tmp1)>) ==> (#t #f A () 9739 -3 . #((TEST) TE " " ST TEST #() B C))
(#<procedure READ> #<input file(tmp1)>) ==> (DEFINE FOO (QUOTE (#t #f #\a () 9739 -3 . #((TEST) "te \" \" st" "" TEST #() B C))))
#<input file(tmp1)>
TEST-FILE
#<output file(tmp2)>
#<output file(tmp2)>
#<output file(tmp2)>
#<output file(tmp2)>
(#<procedure OUTPUT_PORT_P> #<output file(tmp2)>) ==> #t
#t
#<output file(tmp2)>
(#<procedure READ> #<input file(tmp2)>) ==> (DEFINE FOO (QUOTE (#t #f #\a () 9739 -3 . #((TEST) "te \" \" st" "" TEST #() B C))))
(#<procedure EOF_OBJECT_P> #<eof>) ==> #t
(#<procedure EOF_OBJECT_P> #<eof>) ==> #t
(INPUT-PORT? #t) ==> #t
(#<procedure READ_CHAR> #<input file(tmp2)>) ==> #\;
(#<procedure READ> #<input file(tmp2)>) ==> (#t #f A () 9739 -3 . #((TEST) TE " " ST TEST #() B C))
(#<procedure READ> #<input file(tmp2)>) ==> (DEFINE FOO (QUOTE (#t #f #\a () 9739 -3 . #((TEST) "te \" \" st" "" TEST #() B C))))
#<input file(tmp2)>
TEST-SC4
Passed all tests
#<output &output>
;testing inexact numbers;
SECTION(6 5 5)
(#<procedure INEXACT_P> 3.9) ==> #t
(INEXACT? #t) ==> #t
(MAX 4.0) ==> 4.0
(EXACT->INEXACT 4.0) ==> 4.0
(#<procedure ROUND> -4.5) ==> -4.0
(#<procedure ROUND> -3.5) ==> -4.0
(#<procedure ROUND> -3.9) ==> -4.0
(#<procedure ROUND> 0.0) ==> 0.0
(#<procedure ROUND> 0.25) ==> 0.0
(#<procedure ROUND> 0.8) ==> 1.0
(#<procedure ROUND> 3.5) ==> 4.0
(#<procedure ROUND> 4.5) ==> 4.0
(#<procedure CALL_WITH_OUTPUT_FILE> "tmp3" #<interpreted function ???>) ==> #t
(#<procedure READ> #<input file(tmp3)>) ==> (DEFINE FOO (QUOTE (0.25 -3.25)))
(#<procedure EOF_OBJECT_P> #<eof>) ==> #t
(#<procedure EOF_OBJECT_P> #<eof>) ==> #t
(INPUT-PORT? #t) ==> #t
(#<procedure READ_CHAR> #<input file(tmp3)>) ==> #\;
(#<procedure READ> #<input file(tmp3)>) ==> (0.25 -3.25)
(#<procedure READ> #<input file(tmp3)>) ==> (DEFINE FOO (QUOTE (0.25 -3.25)))
(PENTIUM-FDIV-BUG #t) ==> #t
Passed all tests
#<output &output>
;testing bignums;
SECTION(6 5 5)
(#<procedure MODULO> -2177452800 86400) ==> 0
(#<procedure MODULO> 2177452800 -86400) ==> 0
(#<procedure MODULO> 2177452800 86400) ==> 0
(#<procedure MODULO> -2177452800 -86400) ==> 0
(REMAINDER #t) ==> #t
(REMAINDER #t) ==> #t
SECTION(6 5 6)
(#<procedure STRING_2_NUMBER> "281474976710655") ==> 281474976710655
(#<procedure NUMBER_2_STRING> 281474976710655) ==> "281474976710655"
Passed all tests
#<output &output>
#<output &output>
To fully test continuations, Scheme 4, and DELAY/FORCE do:#<output &output>
#<output &output>
(test-cont) (test-sc4) (test-delay)#<output &output>
#<output &output>
"last item in file"