diff options
Diffstat (limited to 'ipl/packs/skeem/test.std')
-rw-r--r-- | ipl/packs/skeem/test.std | 1180 |
1 files changed, 1180 insertions, 0 deletions
diff --git a/ipl/packs/skeem/test.std b/ipl/packs/skeem/test.std new file mode 100644 index 0000000..543ff04 --- /dev/null +++ b/ipl/packs/skeem/test.std @@ -0,0 +1,1180 @@ +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" |