* CPV: dev-scheme/scm-5.5.6 * REPO: gentoo * USE: elibc_glibc kernel_linux ncurses readline test userland_GNU x86 >>> Unpacking source... >>> Unpacking scm-5e6.zip to /var/tmp/portage/dev-scheme/scm-5.5.6/work >>> Source unpacked in /var/tmp/portage/dev-scheme/scm-5.5.6/work >>> Preparing source in /var/tmp/portage/dev-scheme/scm-5.5.6/work/scm ... * Applying scm-5.5.6-multiplefixes.patch ... [ ok ] >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-scheme/scm-5.5.6/work/scm ... >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-scheme/scm-5.5.6/work/scm ... * using SLIB /usr/share/slib/ * Making scmlit make -j14 -j1 scmlit clean Makefile:65: srcdir.mk: No such file or directory echo "CPROTO=`type cproto | sed 's%.* %%'`" > srcdir.mk echo "srcdir=`pwd`/" >> srcdir.mk echo "#ifndef IMPLINIT" > newflags.h echo "#define IMPLINIT \"/var/tmp/portage/dev-scheme/scm-5.5.6/work/scm/Init5e6.scm\"" >> newflags.h echo "#endif" >> newflags.h echo "#define CHEAP_CONTINUATIONS" >> newflags.h echo "#define CAUTIOUS" >> newflags.h if (cmp -s newflags.h scmflags.h) then rm newflags.h; \ else mv newflags.h scmflags.h; fi cc -c -O2 -pipe scm.c -o scm.o cc -c -O2 -pipe time.c -o time.o cc -c -O2 -pipe repl.c -o repl.o repl.c: In function ‘everr’: repl.c:2132:11: warning: assignment discards qualifiers from pointer target type repl.c:2133:14: warning: assignment discards qualifiers from pointer target type cc -c -O2 -pipe scl.c -o scl.o cc -c -O2 -pipe sys.c -o sys.o sys.c: In function ‘ltmpnam’: sys.c:266:3: warning: ignoring return value of ‘tmpnam’, declared with attribute warn_unused_result cc -c -O2 -pipe eval.c -o eval.o cc -c -O2 -pipe subr.c -o subr.o cc -c -O2 -pipe unif.c -o unif.o cc -c -O2 -pipe rope.c -o rope.o cc -c -O2 -pipe continue.c -o continue.o cc -c -O2 -pipe findexec.c -o findexec.o findexec.c: In function ‘dld_find_executable’: findexec.c:163:11: warning: ignoring return value of ‘getcwd’, declared with attribute warn_unused_result findexec.c:194:13: warning: ignoring return value of ‘getcwd’, declared with attribute warn_unused_result cc -c -O2 -pipe script.c -o script.o script.c: In function ‘find_impl_file’: script.c:149:18: warning: initialization discards qualifiers from pointer target type script.c:165:10: warning: assignment discards qualifiers from pointer target type script.c: In function ‘script_process_argv’: script.c:362:12: warning: assignment discards qualifiers from pointer target type script.c:377:22: warning: assignment discards qualifiers from pointer target type script.c:380:39: warning: assignment discards qualifiers from pointer target type cc -c -O2 -pipe debug.c -o debug.o cc -c -O2 -pipe scmmain.c -o scmmain.o scmmain.c: In function ‘main’: scmmain.c:109:32: warning: assignment discards qualifiers from pointer target type scmmain.c:119:16: warning: assignment discards qualifiers from pointer target type scmmain.c:120:5: warning: passing argument 1 of ‘script_count_argv’ from incompatible pointer type scm.h:1074:17: note: expected ‘const char **’ but argument is of type ‘char **’ scmmain.c:122:15: warning: assignment from incompatible pointer type scmmain.c:124:3: warning: passing argument 2 of ‘scm_find_execpath’ from incompatible pointer type scm.h:775:18: note: expected ‘const char * const*’ but argument is of type ‘char **’ scmmain.c:131:5: warning: passing argument 2 of ‘scm_init_from_argv’ from incompatible pointer type scm.h:768:17: note: expected ‘const char * const*’ but argument is of type ‘char **’ cp -p requires.scm require.scm cc -o scmlit scm.o time.o repl.o scl.o sys.o eval.o subr.o unif.o rope.o continue.o findexec.o script.o debug.o scmmain.o sys.o: In function `ltmpnam': sys.c:(.text+0xe62): warning: the use of `tmpnam' is dangerous, better use `mkstemp' make checklit make[1]: Entering directory `/var/tmp/portage/dev-scheme/scm-5.5.6/work/scm' ./scmlit -fr4rstest.scm -e'(test-sc4)(test-delay)(gc)' \ -e '(or (null? errs) (quit 1))' SECTION(2 1) SECTION(3 4) # # # # # # # # # (#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)# (#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) SECTION(4 1 2) (quote (quote a)) ==> (quote a) (quote (quote a)) ==> (quote a) SECTION(4 1 3) (# 3 4) ==> 12 SECTION(4 1 4) (# "r4rstest.scm": (x) (+ x x)> 4) ==> 8 (# 7 10) ==> 3 (# "r4rstest.scm": (y) (+ x y)> 6) ==> 10 (# "r4rstest.scm": x x> 3 4 5 6) ==> (3 4 5 6) (# "r4rstest.scm": (x y . z) z> 3 4 5 6) ==> (5 6) SECTION(4 1 5) (if yes) ==> yes (if no) ==> no (if 1) ==> 1 SECTION(4 1 6) (define 3) ==> 3 (set! 5) ==> 5 SECTION(4 2 1) (cond greater) ==> greater (cond equal) ==> equal (cond 2) ==> 2 (case composite) ==> composite (case consonant) ==> consonant (and #t) ==> #t (and #f) ==> #f (and (f g)) ==> (f g) (and #t) ==> #t (or #t) ==> #t (or #t) ==> #t (or #f) ==> #f (or #f) ==> #f (or (b c)) ==> (b c) SECTION(4 2 2) (let 6) ==> 6 (let 35) ==> 35 (let* 70) ==> 70 (letrec #t) ==> #t (let 5) ==> 5 (let 34) ==> 34 (let 6) ==> 6 (let 34) ==> 34 (let 34) ==> 34 (let* 7) ==> 7 (let* 34) ==> 34 (let* 8) ==> 8 (let* 34) ==> 34 (letrec 9) ==> 9 (letrec 34) ==> 34 (letrec 10) ==> 10 (letrec 34) ==> 34 SECTION(4 2 3) (begin 6) ==> 6 SECTION(4 2 4) (do #(0 1 2 3 4)) ==> #(0 1 2 3 4) (do 25) ==> 25 (do 25) ==> 25 (let 1) ==> 1 (let ((6 1 3) (-5 -2))) ==> ((6 1 3) (-5 -2)) (let -1) ==> -1 SECTION(4 2 6) (quasiquote (list 3 4)) ==> (list 3 4) (quasiquote (list a (quote a))) ==> (list a (quote a)) (quasiquote (a 3 4 5 6 b)) ==> (a 3 4 5 6 b) (quasiquote ((foo 7) . cons)) ==> ((foo 7) . cons) (quasiquote #(10 5 2 4 3 8)) ==> #(10 5 2 4 3 8) (quasiquote 5) ==> 5 (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) (quasiquote (a (quasiquote (b (unquote x) (unquote (quote y)) d)) e)) ==> (a (quasiquote (b (unquote x) (unquote (quote y)) d)) e) (quasiquote (list 3 4)) ==> (list 3 4) (quasiquote (quasiquote (list (unquote (+ 1 2)) 4))) ==> (quasiquote (list (unquote (+ 1 2)) 4)) SECTION(5 2 1) (tprint #t) ==> #t (define 6) ==> 6 (define 1) ==> 1 (define 9) ==> 9 (define 9) ==> 9 (define 10) ==> 10 (# 6) ==> (3 6) (# 6) ==> 9 SECTION(5 2 2) (define 45) ==> 45 (#) ==> 5 (define 34) ==> 34 (#) ==> 5 (define 34) ==> 34 (# 88) ==> 88 (# 4) ==> 4 (define 34) ==> 34 (internal-define 99) ==> 99 (internal-define 77) ==> 77 SECTION(6 1) (# #t) ==> #f (# 3) ==> #f (# (3)) ==> #f (# #f) ==> #t (# ()) ==> #f (# ()) ==> #f (# nil) ==> #f SECTION(6 2) (# a a) ==> #t (# a b) ==> #f (# 2 2) ==> #t (# () ()) ==> #t (# 10000 10000) ==> #t (# (1 . 2) (1 . 2)) ==> #f (# # "r4rstest.scm": () 1> # "r4rstest.scm": () 2>) ==> #f (# #f nil) ==> #f (# # #) ==> #t (# # "r4rstest.scm": () (set! n (+ n 1)) n> # "r4rstest.scm": () (set! n (+ n 1)) n>) ==> #t (# # "r4rstest.scm": () (set! n (+ n 1)) n> # "r4rstest.scm": () (set! n (+ n 1)) n>) ==> #f (# # #) ==> #f (# a a) ==> #t (# (a) (a)) ==> #f (# () ()) ==> #t (# # #) ==> #t (# (a) (a)) ==> #t (# #() #()) ==> #t (# # #) ==> #t (# a a) ==> #t (# (a) (a)) ==> #t (# (a (b) c) (a (b) c)) ==> #t (# "abc" "abc") ==> #t (# 2 2) ==> #t (# #(a a a a a) #(a a a a a)) ==> #t SECTION(6 3) (dot (a b c d e)) ==> (a b c d e) (# (a b c)) ==> #t (set-cdr! (a . 4)) ==> (a . 4) (# (a . 4) (a . 4)) ==> #t (dot (a b c . d)) ==> (a b c . d) (# (a . 4)) ==> #f (list? #f) ==> #f (# a ()) ==> (a) (# (a) (b c d)) ==> ((a) b c d) (# "a" (b c)) ==> ("a" b c) (# a 3) ==> (a . 3) (# (a b) c) ==> ((a b) . c) (# (a b c)) ==> a (# ((a) b c d)) ==> (a) (# (1 . 2)) ==> 1 (# ((a) b c d)) ==> (b c d) (# (1 . 2)) ==> 2 (# a 7 c) ==> (a 7 c) (#) ==> () (# (a b c)) ==> 3 (# (a (b) (c d e))) ==> 3 (# ()) ==> 0 (# (x) (y)) ==> (x y) (# (a) (b c d)) ==> (a b c d) (# (a (b)) ((c))) ==> (a (b) (c)) (#) ==> () (# (a b) (c . d)) ==> (a b c . d) (# () a) ==> a (# (a b c)) ==> (c b a) (# (a (b c) d (e (f)))) ==> ((e (f)) d (b c) a) (# (a b c d) 2) ==> c (# a (a b c)) ==> (a b c) (# b (a b c)) ==> (b c) (# a (b c d)) ==> #f (# (a) (b (a) c)) ==> #f (# (a) (b (a) c)) ==> ((a) c) (# 101 (100 101 102)) ==> (101 102) (# a ((a 1) (b 2) (c 3))) ==> (a 1) (# b ((a 1) (b 2) (c 3))) ==> (b 2) (# d ((a 1) (b 2) (c 3))) ==> #f (# (a) (((a)) ((b)) ((c)))) ==> #f (# (a) (((a)) ((b)) ((c)))) ==> ((a)) (# 5 ((2 3) (5 7) (11 13))) ==> (5 7) SECTION(6 4) (# a) ==> #t (standard-case #t) ==> #t (standard-case #t) ==> #t (#string> flying-fish) ==> "flying-fish" (#string> martin) ==> "martin" (#string> \Malvina) ==> "Malvina" (standard-case #t) ==> #t (string-set! "cb") ==> "cb" (#string> ab) ==> "ab" (#symbol> "ab") ==> ab (# mississippi mississippi) ==> #t (string->symbol #f) ==> #f (#symbol> "jollywog") ==> jollywog SECTION(6 5 5) (# 3) ==> #t (# 3) ==> #t (# 3) ==> #t (# 3) ==> #t (# 3) ==> #t (# 3) ==> #t (# 3) ==> #f (# 0 0) ==> 1 (# 0 1) ==> 0 (# 0 256) ==> 0 (# -1 256) ==> 1 (# -1 255) ==> -1 (# -1 -256) ==> 1 (# -1 -255) ==> -1 (# 256 0) ==> 1 (# -256 0) ==> 1 (# 256 1) ==> 256 (# -256 1) ==> -256 (# 2 3) ==> 8 (# -2 3) ==> -8 (# 3 2) ==> 9 (# -3 2) ==> 9 (# 22 22 22) ==> #t (# 22 22) ==> #t (# 34 34 35) ==> #f (# 34 35) ==> #f (#> 3 -6246) ==> #t (#> 9 9 -2424) ==> #f (#=> 3 -4 -6246) ==> #t (#=> 9 9) ==> #t (#=> 8 9) ==> #f (# -1 2 3 4 5 6 7 8) ==> #t (# -1 2 3 4 4 5 6 7) ==> #f (# -1 2 3 4 5 6 7 8) ==> #t (# -1 2 3 4 4 5 6 7) ==> #t (# 1 3 2) ==> #f (#=> 1 3 2) ==> #f (# 0) ==> #t (# 1) ==> #f (# -1) ==> #f (# -100) ==> #f (# 4) ==> #t (# -4) ==> #f (# 0) ==> #f (# 4) ==> #f (# -4) ==> #t (# 0) ==> #f (# 3) ==> #t (# 2) ==> #f (# -4) ==> #f (# -1) ==> #t (# 3) ==> #f (# 2) ==> #t (# -4) ==> #t (# -1) ==> #f (# 34 5 7 38 6) ==> 38 (# 3 5 5 330 4 -24) ==> -24 (# 3 4) ==> 7 (# 3) ==> 3 (#) ==> 0 (# 4) ==> 4 (#) ==> 1 (# 1) ==> 1 (# -1) ==> -1 (# 6 3) ==> 2 (# 6 -2) ==> -3 (# -6 2) ==> -3 (# -6 -2) ==> 3 (# 3 4) ==> -1 (# 3) ==> -3 (# -7) ==> 7 (# 7) ==> 7 (# 0) ==> 0 (# 35 7) ==> 5 (# -35 7) ==> -5 (# 35 -7) ==> -5 (# -35 -7) ==> 5 (# 13 4) ==> 1 (# 13 4) ==> 1 (# -13 4) ==> 3 (# -13 4) ==> -1 (# 13 -4) ==> -3 (# 13 -4) ==> 1 (# -13 -4) ==> -1 (# -13 -4) ==> -1 (# 0 86400) ==> 0 (# 0 -86400) ==> 0 (# 238 9) ==> #t (# -238 9) ==> #t (# 238 -9) ==> #t (# -238 -9) ==> #t (# 0 4) ==> 4 (# -4 0) ==> 4 (# 32 -36) ==> 4 (#) ==> 0 (# 32 -36) ==> 288 (#) ==> 1 SECTION(6 5 5) (#number "r4rstest.scm": (str) (#@define ((ans (string->number str))) (cond ((not ans) #t) ((number? ans) #t) (else ans)))> "+#.#") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-#.#") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#.#") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "1/0") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-1/0") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "0/0") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "+1/0i") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-1/0i") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "0/0i") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "0/0-0/0i") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "1/0-1/0i") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-1/0+1/0i") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#i") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#e") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#") ==> #t (#number "r4rstest.scm": (str) (#@define ((ans (#@string->number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#i0/0") ==> #t SECTION(6 5 9) (#string> 0) ==> "0" (#string> 100) ==> "100" (#string> 256 16) ==> "100" (#number> "100") ==> 100 (#number> "100" 16) ==> 256 (#number> "") ==> #f (#number> ".") ==> #f (#number> "d") ==> #f (#number> "D") ==> #f (#number> "i") ==> #f (#number> "I") ==> #f (#number> "3i") ==> #f (#number> "3I") ==> #f (#number> "33i") ==> #f (#number> "33I") ==> #f (#number> "3.3i") ==> #f (#number> "3.3I") ==> #f (#number> "-") ==> #f (#number> "+") ==> #f (string->number #t) ==> #t (string->number #t) ==> #t SECTION(6 6) (# #\space #\space) ==> #t (# #\space #\space) ==> #t (# #\a) ==> #t (# #\() ==> #t (# #\space) ==> #t (# #\nl) ==> #t (# #\A #\B) ==> #f (# #\a #\b) ==> #f (# #\9 #\0) ==> #f (# #\A #\A) ==> #t (# #\A #\B) ==> #t (# #\a #\b) ==> #t (# #\9 #\0) ==> #f (# #\A #\A) ==> #f (#?> #\A #\B) ==> #f (#?> #\a #\b) ==> #f (#?> #\9 #\0) ==> #t (#?> #\A #\A) ==> #f (# #\A #\B) ==> #t (# #\a #\b) ==> #t (# #\9 #\0) ==> #f (# #\A #\A) ==> #t (#=?> #\A #\B) ==> #f (#=?> #\a #\b) ==> #f (#=?> #\9 #\0) ==> #t (#=?> #\A #\A) ==> #t (# #\A #\B) ==> #f (# #\a #\B) ==> #f (# #\A #\b) ==> #f (# #\a #\b) ==> #f (# #\9 #\0) ==> #f (# #\A #\A) ==> #t (# #\A #\a) ==> #t (# #\A #\B) ==> #t (# #\a #\B) ==> #t (# #\A #\b) ==> #t (# #\a #\b) ==> #t (# #\9 #\0) ==> #f (# #\A #\A) ==> #f (# #\A #\a) ==> #f (#?> #\A #\B) ==> #f (#?> #\a #\B) ==> #f (#?> #\A #\b) ==> #f (#?> #\a #\b) ==> #f (#?> #\9 #\0) ==> #t (#?> #\A #\A) ==> #f (#?> #\A #\a) ==> #f (# #\A #\B) ==> #t (# #\a #\B) ==> #t (# #\A #\b) ==> #t (# #\a #\b) ==> #t (# #\9 #\0) ==> #f (# #\A #\A) ==> #t (# #\A #\a) ==> #t (#=?> #\A #\B) ==> #f (#=?> #\a #\B) ==> #f (#=?> #\A #\b) ==> #f (#=?> #\a #\b) ==> #f (#=?> #\9 #\0) ==> #t (#=?> #\A #\A) ==> #t (#=?> #\A #\a) ==> #t (# #\a) ==> #t (# #\A) ==> #t (# #\z) ==> #t (# #\Z) ==> #t (# #\0) ==> #f (# #\9) ==> #f (# #\space) ==> #f (# #\;) ==> #f (# #\a) ==> #f (# #\A) ==> #f (# #\z) ==> #f (# #\Z) ==> #f (# #\0) ==> #t (# #\9) ==> #t (# #\space) ==> #f (# #\;) ==> #f (# #\a) ==> #f (# #\A) ==> #f (# #\z) ==> #f (# #\Z) ==> #f (# #\0) ==> #f (# #\9) ==> #f (# #\space) ==> #t (# #\;) ==> #f (# #\0) ==> #f (# #\9) ==> #f (# #\space) ==> #f (# #\;) ==> #f (# #\0) ==> #f (# #\9) ==> #f (# #\space) ==> #f (# #\;) ==> #f (#char> 46) ==> #\. (#char> 65) ==> #\A (#char> 97) ==> #\a (# #\A) ==> #\A (# #\a) ==> #\A (# #\A) ==> #\a (# #\a) ==> #\a SECTION(6 7) (# "The word \"recursion\\\" has many meanings.") ==> #t (string-set! "?**") ==> "?**" (# #\a #\b #\c) ==> "abc" (#) ==> "" (# "abc") ==> 3 (# "abc" 0) ==> #\a (# "abc" 2) ==> #\c (# "") ==> 0 (# "ab" 0 0) ==> "" (# "ab" 1 1) ==> "" (# "ab" 2 2) ==> "" (# "ab" 0 1) ==> "a" (# "ab" 1 2) ==> "b" (# "ab" 0 2) ==> "ab" (# "foo" "bar") ==> "foobar" (# "foo") ==> "foo" (# "foo" "") ==> "foo" (# "" "foo") ==> "foo" (#) ==> "" (# 0) ==> "" (# "" "") ==> #t (# "" "") ==> #f (#?> "" "") ==> #f (# "" "") ==> #t (#=?> "" "") ==> #t (# "" "") ==> #t (# "" "") ==> #f (#?> "" "") ==> #f (# "" "") ==> #t (#=?> "" "") ==> #t (# "A" "B") ==> #f (# "a" "b") ==> #f (# "9" "0") ==> #f (# "A" "A") ==> #t (# "A" "B") ==> #t (# "a" "b") ==> #t (# "9" "0") ==> #f (# "A" "A") ==> #f (#?> "A" "B") ==> #f (#?> "a" "b") ==> #f (#?> "9" "0") ==> #t (#?> "A" "A") ==> #f (# "A" "B") ==> #t (# "a" "b") ==> #t (# "9" "0") ==> #f (# "A" "A") ==> #t (#=?> "A" "B") ==> #f (#=?> "a" "b") ==> #f (#=?> "9" "0") ==> #t (#=?> "A" "A") ==> #t (# "A" "B") ==> #f (# "a" "B") ==> #f (# "A" "b") ==> #f (# "a" "b") ==> #f (# "9" "0") ==> #f (# "A" "A") ==> #t (# "A" "a") ==> #t (# "A" "B") ==> #t (# "a" "B") ==> #t (# "A" "b") ==> #t (# "a" "b") ==> #t (# "9" "0") ==> #f (# "A" "A") ==> #f (# "A" "a") ==> #f (#?> "A" "B") ==> #f (#?> "a" "B") ==> #f (#?> "A" "b") ==> #f (#?> "a" "b") ==> #f (#?> "9" "0") ==> #t (#?> "A" "A") ==> #f (#?> "A" "a") ==> #f (# "A" "B") ==> #t (# "a" "B") ==> #t (# "A" "b") ==> #t (# "a" "b") ==> #t (# "9" "0") ==> #f (# "A" "A") ==> #t (# "A" "a") ==> #t (#=?> "A" "B") ==> #f (#=?> "a" "B") ==> #f (#=?> "A" "b") ==> #f (#=?> "a" "b") ==> #f (#=?> "9" "0") ==> #t (#=?> "A" "A") ==> #t (#=?> "A" "a") ==> #t SECTION(6 8) (# #(0 (2 2 2 2) "Anna")) ==> #t (# a b c) ==> #(a b c) (#) ==> #() (# #(0 (2 2 2 2) "Anna")) ==> 3 (# #()) ==> 0 (# #(1 1 2 3 5 8 13 21) 5) ==> 8 (vector-set #(0 ("Sue" "Sue") "Anna")) ==> #(0 ("Sue" "Sue") "Anna") (# 2 hi) ==> #(hi hi) (# 0) ==> #() (# 0 a) ==> #() SECTION(6 9) (# #) ==> #t (# car) ==> #f (# # "r4rstest.scm": (x) (* x x)>) ==> #t (# (lambda (x) (* x x))) ==> #f (# #) ==> #t (# #) ==> #t (# # (3 4)) ==> 7 (# # "r4rstest.scm": (a b) (+ a b)> (3 4)) ==> 7 (# # 10 (3 4)) ==> 17 (# # ()) ==> () (# "r4rstest.scm": args (f (apply g args))> 12 75) ==> 30 (# # ((a b) (d e) (g h))) ==> (b e h) (# # (1 2 3) (4 5 6)) ==> (5 7 9) (# # (1 2 3)) ==> (1 2 3) (# # (1 2 3)) ==> (1 2 3) (# # (1 2 3)) ==> (-1 -2 -3) (for-each #(0 1 4 9 16)) ==> #(0 1 4 9 16) (# # "r4rstest.scm": (exit) (for-each (lambda (x) (if (negative? x) (exit x))) (quote (54 0 37 -3 245 19))) #t>) ==> -3 (# (1 2 3 4)) ==> 4 (# (a b . c)) ==> #f (# # ()) ==> () SECTION(6 10 1) (# #) ==> #t (# #) ==> #t (# "r4rstest.scm" #) ==> #t (# #) ==> #t SECTION(6 10 2) (# #) ==> #\; (# #) ==> #\; (# #) ==> (define cur-section (quote ())) (# #) ==> #\( (# #) ==> (define errs (quote ())) SECTION(6 10 3) (# "tmp1" # "r4rstest.scm": (test-file) (write-char #\; test-file) (display #\; test-file) (display ";" test-file) (write write-test-obj test-file) (newline test-file) (write load-test-obj test-file) (output-port? test-file)>) ==> #t (# #) ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)))) (# #) ==> #t (# #) ==> #t (input-port? #t) ==> #t (# #) ==> #\; (# #) ==> #\; (# #) ==> #\; (# #) ==> (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)) (# #) ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)))) (# #) ==> #t (# #) ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)))) (# #) ==> #t (# #) ==> #t (input-port? #t) ==> #t (# #) ==> #\; (# #) ==> #\; (# #) ==> #\; (# #) ==> (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)) (# #) ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)))) Passed all tests To fully test continuations, Scheme 4, and DELAY/FORCE do: (test-cont) (test-sc4) (test-delay) ;testing scheme 4 functions; SECTION(6 7) (#list> "P l") ==> (#\P #\space #\l) (#list> "") ==> () (#string> (#\1 #\\ #\")) ==> "1\\\"" (#string> ()) ==> "" SECTION(6 8) (#list> #(dah dah didah)) ==> (dah dah didah) (#list> #()) ==> () (#vector> (dididit dah)) ==> #(dididit dah) (#vector> ()) ==> #() SECTION(6 10 4) (load (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c))) ==> (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)) Passed all tests ;testing DELAY and FORCE; SECTION(6 9) (delay 3) ==> 3 (delay (3 3)) ==> (3 3) (delay 2) ==> 2 (# # count x) count (force p)))>>) ==> 6 (# #) ==> 6 (force 3) ==> 3 Passed all tests make[1]: Leaving directory `/var/tmp/portage/dev-scheme/scm-5.5.6/work/scm' rm -f core a.out ramap.o ramap.obj scm.o time.o repl.o scl.o sys.o eval.o subr.o unif.o rope.o continue.o findexec.o script.o debug.o scmmain.o lints rm -rf *temp * Building scm ; Scheme (linux) script created by SLIB/batch ; [-p linux] ; ================ Write file with C defines (delete-file "scmflags.h") (call-with-output-file "scmflags.h" (lambda (fp) (for-each (lambda (string) (write-line string fp)) '("#define IMPLINIT \"/usr/lib/scmInit5e6.scm\"")))) ; ================ Compile C source files (system "gcc -c -DSUN_DL -O2 -pipe dynl.c continue.c scm.c scmmain.c findexec.c script.c time.c repl.c scl.c eval.c sys.c subr.c debug.c unif.c rope.c") dynl.c: In function ‘l_dyn_main_call’: dynl.c:447:3: warning: passing argument 2 of ‘func’ from incompatible pointer type dynl.c:447:3: note: expected ‘const char **’ but argument is of type ‘char **’ scmmain.c: In function ‘main’: scmmain.c:109:32: warning: assignment discards qualifiers from pointer target type scmmain.c:119:16: warning: assignment discards qualifiers from pointer target type scmmain.c:120:5: warning: passing argument 1 of ‘script_count_argv’ from incompatible pointer type scm.h:1074:17: note: expected ‘const char **’ but argument is of type ‘char **’ scmmain.c:122:15: warning: assignment from incompatible pointer type scmmain.c:124:3: warning: passing argument 2 of ‘scm_find_execpath’ from incompatible pointer type scm.h:775:18: note: expected ‘const char * const*’ but argument is of type ‘char **’ scmmain.c:131:5: warning: passing argument 2 of ‘scm_init_from_argv’ from incompatible pointer type scm.h:768:17: note: expected ‘const char * const*’ but argument is of type ‘char **’ findexec.c: In function ‘dld_find_executable’: findexec.c:163:11: warning: ignoring return value of ‘getcwd’, declared with attribute warn_unused_result findexec.c:194:13: warning: ignoring return value of ‘getcwd’, declared with attribute warn_unused_result script.c: In function ‘find_impl_file’: script.c:149:18: warning: initialization discards qualifiers from pointer target type script.c:165:10: warning: assignment discards qualifiers from pointer target type script.c: In function ‘script_process_argv’: script.c:362:12: warning: assignment discards qualifiers from pointer target type script.c:377:22: warning: assignment discards qualifiers from pointer target type script.c:380:39: warning: assignment discards qualifiers from pointer target type repl.c: In function ‘everr’: repl.c:2132:11: warning: assignment discards qualifiers from pointer target type repl.c:2133:14: warning: assignment discards qualifiers from pointer target type sys.c: In function ‘ltmpnam’: sys.c:266:3: warning: ignoring return value of ‘tmpnam’, declared with attribute warn_unused_result ; ================ Link C object files (system "gcc -rdynamic -o scm dynl.o continue.o scm.o scmmain.o findexec.o script.o time.o repl.o scl.o eval.o sys.o subr.o debug.o unif.o rope.o -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -L/lib -ldl -lc") sys.o: In function `ltmpnam': sys.c:(.text+0xe92): warning: the use of `tmpnam' is dangerous, better use `mkstemp' * Building DLLs ; Scheme (linux) script created by SLIB/batch ; [-p linux] ; ================ Write file with C defines (delete-file "scmflags.h") (call-with-output-file "scmflags.h" (lambda (fp) (for-each (lambda (string) (write-line string fp)) '("#define IMPLINIT \"Init5e6.scm\"" "#define COMPILED_INITS init_edline();" "#define DLL")))) ; ================ Compile C source files (system "gcc -fpic -c -O2 -pipe edline.c") (system "gcc -shared -o edline.so edline.o -lreadline -lncurses -lc") (delete-file "edline.o") ; ================ Link C object files (delete-file "slibcat") ; Scheme (linux) script created by SLIB/batch ; [-p linux] ; ================ Write file with C defines (delete-file "scmflags.h") (call-with-output-file "scmflags.h" (lambda (fp) (for-each (lambda (string) (write-line string fp)) '("#define IMPLINIT \"Init5e6.scm\"" "#define COMPILED_INITS init_crs();" "#define DLL")))) ; ================ Compile C source files (system "gcc -fpic -c -O2 -pipe crs.c") crs.c:72:3: warning: initialization from incompatible pointer type crs.c:73:3: warning: initialization from incompatible pointer type crs.c: In function ‘lunctrl’: crs.c:241:17: warning: initialization discards qualifiers from pointer target type crs.c: In function ‘init_crs’: crs.c:389:3: warning: passing argument 1 of ‘add_final’ from incompatible pointer type scm.h:997:17: note: expected ‘void (*)(void)’ but argument is of type ‘SCM (*)()’ (system "gcc -shared -o crs.so crs.o -lcurses -lc") (delete-file "crs.o") ; ================ Link C object files (delete-file "slibcat") >>> Source compiled. make -j14 check ./scm -fr4rstest.scm -e'(test-sc4)(test-cont)(test-delay)(gc)' \ -e '(or (null? errs) (quit 1))' SECTION(2 1) SECTION(3 4) # # # # # # # # # (#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)# (#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) SECTION(4 1 2) (quote (quote a)) ==> (quote a) (quote (quote a)) ==> (quote a) SECTION(4 1 3) (# 3 4) ==> 12 SECTION(4 1 4) (# 4) ==> 8 (# 7 10) ==> 3 (# 6) ==> 10 (# 3 4 5 6) ==> (3 4 5 6) (# 3 4 5 6) ==> (5 6) SECTION(4 1 5) (if yes) ==> yes (if no) ==> no (if 1) ==> 1 SECTION(4 1 6) (define 3) ==> 3 (set! 5) ==> 5 SECTION(4 2 1) (cond greater) ==> greater (cond equal) ==> equal (cond 2) ==> 2 (case composite) ==> composite (case consonant) ==> consonant (and #t) ==> #t (and #f) ==> #f (and (f g)) ==> (f g) (and #t) ==> #t (or #t) ==> #t (or #t) ==> #t (or #f) ==> #f (or #f) ==> #f (or (b c)) ==> (b c) SECTION(4 2 2) (let 6) ==> 6 (let 35) ==> 35 (let* 70) ==> 70 (letrec #t) ==> #t (let 5) ==> 5 (let 34) ==> 34 (let 6) ==> 6 (let 34) ==> 34 (let 34) ==> 34 (let* 7) ==> 7 (let* 34) ==> 34 (let* 8) ==> 8 (let* 34) ==> 34 (letrec 9) ==> 9 (letrec 34) ==> 34 (letrec 10) ==> 10 (letrec 34) ==> 34 SECTION(4 2 3) (begin 6) ==> 6 SECTION(4 2 4) (do #(0 1 2 3 4)) ==> #(0 1 2 3 4) (do 25) ==> 25 (do 25) ==> 25 (let 1) ==> 1 (let ((6 1 3) (-5 -2))) ==> ((6 1 3) (-5 -2)) (let -1) ==> -1 SECTION(4 2 6) (quasiquote (list 3 4)) ==> (list 3 4) (quasiquote (list a (quote a))) ==> (list a (quote a)) (quasiquote (a 3 4 5 6 b)) ==> (a 3 4 5 6 b) (quasiquote ((foo 7) . cons)) ==> ((foo 7) . cons) (quasiquote #(10 5 2 4 3 8)) ==> #(10 5 2 4 3 8) (quasiquote 5) ==> 5 (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) (quasiquote (a (quasiquote (b (unquote x) (unquote (quote y)) d)) e)) ==> (a (quasiquote (b (unquote x) (unquote (quote y)) d)) e) (quasiquote (list 3 4)) ==> (list 3 4) (quasiquote (quasiquote (list (unquote (+ 1 2)) 4))) ==> (quasiquote (list (unquote (+ 1 2)) 4)) SECTION(5 2 1) (tprint #t) ==> #t (define 6) ==> 6 (define 1) ==> 1 (define 9) ==> 9 (define 9) ==> 9 (define 10) ==> 10 (# 6) ==> (3 6) (# 6) ==> 9 SECTION(5 2 2) (define 45) ==> 45 (#) ==> 5 (define 34) ==> 34 (#) ==> 5 (define 34) ==> 34 (# 88) ==> 88 (# 4) ==> 4 (define 34) ==> 34 (internal-define 99) ==> 99 (internal-define 77) ==> 77 SECTION(6 1) (# #t) ==> #f (# 3) ==> #f (# (3)) ==> #f (# #f) ==> #t (# ()) ==> #f (# ()) ==> #f (# nil) ==> #f SECTION(6 2) (# a a) ==> #t (# a b) ==> #f (# 2 2) ==> #t (# () ()) ==> #t (# 10000 10000) ==> #t (# (1 . 2) (1 . 2)) ==> #f (# # #) ==> #f (# #f nil) ==> #f (# # #) ==> #t (# # #) ==> #t (# # #) ==> #f (# # #) ==> #f (# a a) ==> #t (# (a) (a)) ==> #f (# () ()) ==> #t (# # #) ==> #t (# (a) (a)) ==> #t (# #() #()) ==> #t (# # #) ==> #t (# a a) ==> #t (# (a) (a)) ==> #t (# (a (b) c) (a (b) c)) ==> #t (# "abc" "abc") ==> #t (# 2 2) ==> #t (# #(a a a a a) #(a a a a a)) ==> #t SECTION(6 3) (dot (a b c d e)) ==> (a b c d e) (# (a b c)) ==> #t (set-cdr! (a . 4)) ==> (a . 4) (# (a . 4) (a . 4)) ==> #t (dot (a b c . d)) ==> (a b c . d) (# (a . 4)) ==> #f (list? #f) ==> #f (# a ()) ==> (a) (# (a) (b c d)) ==> ((a) b c d) (# "a" (b c)) ==> ("a" b c) (# a 3) ==> (a . 3) (# (a b) c) ==> ((a b) . c) (# (a b c)) ==> a (# ((a) b c d)) ==> (a) (# (1 . 2)) ==> 1 (# ((a) b c d)) ==> (b c d) (# (1 . 2)) ==> 2 (# a 7 c) ==> (a 7 c) (#) ==> () (# (a b c)) ==> 3 (# (a (b) (c d e))) ==> 3 (# ()) ==> 0 (# (x) (y)) ==> (x y) (# (a) (b c d)) ==> (a b c d) (# (a (b)) ((c))) ==> (a (b) (c)) (#) ==> () (# (a b) (c . d)) ==> (a b c . d) (# () a) ==> a (# (a b c)) ==> (c b a) (# (a (b c) d (e (f)))) ==> ((e (f)) d (b c) a) (# (a b c d) 2) ==> c (# a (a b c)) ==> (a b c) (# b (a b c)) ==> (b c) (# a (b c d)) ==> #f (# (a) (b (a) c)) ==> #f (# (a) (b (a) c)) ==> ((a) c) (# 101 (100 101 102)) ==> (101 102) (# a ((a 1) (b 2) (c 3))) ==> (a 1) (# b ((a 1) (b 2) (c 3))) ==> (b 2) (# d ((a 1) (b 2) (c 3))) ==> #f (# (a) (((a)) ((b)) ((c)))) ==> #f (# (a) (((a)) ((b)) ((c)))) ==> ((a)) (# 5 ((2 3) (5 7) (11 13))) ==> (5 7) SECTION(6 4) (# a) ==> #t (standard-case #t) ==> #t (standard-case #t) ==> #t (#string> flying-fish) ==> "flying-fish" (#string> martin) ==> "martin" (#string> \Malvina) ==> "Malvina" (standard-case #t) ==> #t (string-set! "cb") ==> "cb" (#string> ab) ==> "ab" (#symbol> "ab") ==> ab (# mississippi mississippi) ==> #t (string->symbol #f) ==> #f (#symbol> "jollywog") ==> jollywog SECTION(6 5 5) (# 3) ==> #t (# 3) ==> #t (# 3) ==> #t (# 3) ==> #t (# 3) ==> #t (# 3) ==> #t (# 3) ==> #f (# 0 0) ==> 1 (# 0 1) ==> 0 (# 0 256) ==> 0 (# -1 256) ==> 1 (# -1 255) ==> -1 (# -1 -256) ==> 1 (# -1 -255) ==> -1 (# 256 0) ==> 1 (# -256 0) ==> 1 (# 256 1) ==> 256 (# -256 1) ==> -256 (# 2 3) ==> 8 (# -2 3) ==> -8 (# 3 2) ==> 9 (# -3 2) ==> 9 (# 22 22 22) ==> #t (# 22 22) ==> #t (# 34 34 35) ==> #f (# 34 35) ==> #f (#> 3 -6246) ==> #t (#> 9 9 -2424) ==> #f (#=> 3 -4 -6246) ==> #t (#=> 9 9) ==> #t (#=> 8 9) ==> #f (# -1 2 3 4 5 6 7 8) ==> #t (# -1 2 3 4 4 5 6 7) ==> #f (# -1 2 3 4 5 6 7 8) ==> #t (# -1 2 3 4 4 5 6 7) ==> #t (# 1 3 2) ==> #f (#=> 1 3 2) ==> #f (# 0) ==> #t (# 1) ==> #f (# -1) ==> #f (# -100) ==> #f (# 4) ==> #t (# -4) ==> #f (# 0) ==> #f (# 4) ==> #f (# -4) ==> #t (# 0) ==> #f (# 3) ==> #t (# 2) ==> #f (# -4) ==> #f (# -1) ==> #t (# 3) ==> #f (# 2) ==> #t (# -4) ==> #t (# -1) ==> #f (# 34 5 7 38 6) ==> 38 (# 3 5 5 330 4 -24) ==> -24 (# 3 4) ==> 7 (# 3) ==> 3 (#) ==> 0 (# 4) ==> 4 (#) ==> 1 (# 1) ==> 1 (# -1) ==> -1 (# 6 3) ==> 2 (# 6 -2) ==> -3 (# -6 2) ==> -3 (# -6 -2) ==> 3 (# 3 4) ==> -1 (# 3) ==> -3 (# -7) ==> 7 (# 7) ==> 7 (# 0) ==> 0 (# 35 7) ==> 5 (# -35 7) ==> -5 (# 35 -7) ==> -5 (# -35 -7) ==> 5 (# 13 4) ==> 1 (# 13 4) ==> 1 (# -13 4) ==> 3 (# -13 4) ==> -1 (# 13 -4) ==> -3 (# 13 -4) ==> 1 (# -13 -4) ==> -1 (# -13 -4) ==> -1 (# 0 86400) ==> 0 (# 0 -86400) ==> 0 (# 238 9) ==> #t (# -238 9) ==> #t (# 238 -9) ==> #t (# -238 -9) ==> #t (# 0 4) ==> 4 (# -4 0) ==> 4 (# 32 -36) ==> 4 (#) ==> 0 (# 32 -36) ==> 288 (#) ==> 1 SECTION(6 5 5) (#number str))) (cond ((not ans) #t) ((number? ans) #t) (else ans)))> "+#.#") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-#.#") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#.#") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "1/0") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-1/0") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "0/0") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "+1/0i") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-1/0i") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "0/0i") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "0/0-0/0i") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "1/0-1/0i") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "-1/0+1/0i") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#i") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#e") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#") ==> #t (#number #@str))) (#@cond ((#@not #@ans) #t) ((number? ans) #t) (#t ans)))> "#i0/0") ==> #t SECTION(6 5 9) (#string> 0) ==> "0" (#string> 100) ==> "100" (#string> 256 16) ==> "100" (#number> "100") ==> 100 (#number> "100" 16) ==> 256 (#number> "") ==> #f (#number> ".") ==> #f (#number> "d") ==> #f (#number> "D") ==> #f (#number> "i") ==> #f (#number> "I") ==> #f (#number> "3i") ==> #f (#number> "3I") ==> #f (#number> "33i") ==> #f (#number> "33I") ==> #f (#number> "3.3i") ==> #f (#number> "3.3I") ==> #f (#number> "-") ==> #f (#number> "+") ==> #f (string->number #t) ==> #t (string->number #t) ==> #t SECTION(6 6) (# #\space #\space) ==> #t (# #\space #\space) ==> #t (# #\a) ==> #t (# #\() ==> #t (# #\space) ==> #t (# #\nl) ==> #t (# #\A #\B) ==> #f (# #\a #\b) ==> #f (# #\9 #\0) ==> #f (# #\A #\A) ==> #t (# #\A #\B) ==> #t (# #\a #\b) ==> #t (# #\9 #\0) ==> #f (# #\A #\A) ==> #f (#?> #\A #\B) ==> #f (#?> #\a #\b) ==> #f (#?> #\9 #\0) ==> #t (#?> #\A #\A) ==> #f (# #\A #\B) ==> #t (# #\a #\b) ==> #t (# #\9 #\0) ==> #f (# #\A #\A) ==> #t (#=?> #\A #\B) ==> #f (#=?> #\a #\b) ==> #f (#=?> #\9 #\0) ==> #t (#=?> #\A #\A) ==> #t (# #\A #\B) ==> #f (# #\a #\B) ==> #f (# #\A #\b) ==> #f (# #\a #\b) ==> #f (# #\9 #\0) ==> #f (# #\A #\A) ==> #t (# #\A #\a) ==> #t (# #\A #\B) ==> #t (# #\a #\B) ==> #t (# #\A #\b) ==> #t (# #\a #\b) ==> #t (# #\9 #\0) ==> #f (# #\A #\A) ==> #f (# #\A #\a) ==> #f (#?> #\A #\B) ==> #f (#?> #\a #\B) ==> #f (#?> #\A #\b) ==> #f (#?> #\a #\b) ==> #f (#?> #\9 #\0) ==> #t (#?> #\A #\A) ==> #f (#?> #\A #\a) ==> #f (# #\A #\B) ==> #t (# #\a #\B) ==> #t (# #\A #\b) ==> #t (# #\a #\b) ==> #t (# #\9 #\0) ==> #f (# #\A #\A) ==> #t (# #\A #\a) ==> #t (#=?> #\A #\B) ==> #f (#=?> #\a #\B) ==> #f (#=?> #\A #\b) ==> #f (#=?> #\a #\b) ==> #f (#=?> #\9 #\0) ==> #t (#=?> #\A #\A) ==> #t (#=?> #\A #\a) ==> #t (# #\a) ==> #t (# #\A) ==> #t (# #\z) ==> #t (# #\Z) ==> #t (# #\0) ==> #f (# #\9) ==> #f (# #\space) ==> #f (# #\;) ==> #f (# #\a) ==> #f (# #\A) ==> #f (# #\z) ==> #f (# #\Z) ==> #f (# #\0) ==> #t (# #\9) ==> #t (# #\space) ==> #f (# #\;) ==> #f (# #\a) ==> #f (# #\A) ==> #f (# #\z) ==> #f (# #\Z) ==> #f (# #\0) ==> #f (# #\9) ==> #f (# #\space) ==> #t (# #\;) ==> #f (# #\0) ==> #f (# #\9) ==> #f (# #\space) ==> #f (# #\;) ==> #f (# #\0) ==> #f (# #\9) ==> #f (# #\space) ==> #f (# #\;) ==> #f (#char> 46) ==> #\. (#char> 65) ==> #\A (#char> 97) ==> #\a (# #\A) ==> #\A (# #\a) ==> #\A (# #\A) ==> #\a (# #\a) ==> #\a SECTION(6 7) (# "The word \"recursion\\\" has many meanings.") ==> #t (string-set! "?**") ==> "?**" (# #\a #\b #\c) ==> "abc" (#) ==> "" (# "abc") ==> 3 (# "abc" 0) ==> #\a (# "abc" 2) ==> #\c (# "") ==> 0 (# "ab" 0 0) ==> "" (# "ab" 1 1) ==> "" (# "ab" 2 2) ==> "" (# "ab" 0 1) ==> "a" (# "ab" 1 2) ==> "b" (# "ab" 0 2) ==> "ab" (# "foo" "bar") ==> "foobar" (# "foo") ==> "foo" (# "foo" "") ==> "foo" (# "" "foo") ==> "foo" (#) ==> "" (# 0) ==> "" (# "" "") ==> #t (# "" "") ==> #f (#?> "" "") ==> #f (# "" "") ==> #t (#=?> "" "") ==> #t (# "" "") ==> #t (# "" "") ==> #f (#?> "" "") ==> #f (# "" "") ==> #t (#=?> "" "") ==> #t (# "A" "B") ==> #f (# "a" "b") ==> #f (# "9" "0") ==> #f (# "A" "A") ==> #t (# "A" "B") ==> #t (# "a" "b") ==> #t (# "9" "0") ==> #f (# "A" "A") ==> #f (#?> "A" "B") ==> #f (#?> "a" "b") ==> #f (#?> "9" "0") ==> #t (#?> "A" "A") ==> #f (# "A" "B") ==> #t (# "a" "b") ==> #t (# "9" "0") ==> #f (# "A" "A") ==> #t (#=?> "A" "B") ==> #f (#=?> "a" "b") ==> #f (#=?> "9" "0") ==> #t (#=?> "A" "A") ==> #t (# "A" "B") ==> #f (# "a" "B") ==> #f (# "A" "b") ==> #f (# "a" "b") ==> #f (# "9" "0") ==> #f (# "A" "A") ==> #t (# "A" "a") ==> #t (# "A" "B") ==> #t (# "a" "B") ==> #t (# "A" "b") ==> #t (# "a" "b") ==> #t (# "9" "0") ==> #f (# "A" "A") ==> #f (# "A" "a") ==> #f (#?> "A" "B") ==> #f (#?> "a" "B") ==> #f (#?> "A" "b") ==> #f (#?> "a" "b") ==> #f (#?> "9" "0") ==> #t (#?> "A" "A") ==> #f (#?> "A" "a") ==> #f (# "A" "B") ==> #t (# "a" "B") ==> #t (# "A" "b") ==> #t (# "a" "b") ==> #t (# "9" "0") ==> #f (# "A" "A") ==> #t (# "A" "a") ==> #t (#=?> "A" "B") ==> #f (#=?> "a" "B") ==> #f (#=?> "A" "b") ==> #f (#=?> "a" "b") ==> #f (#=?> "9" "0") ==> #t (#=?> "A" "A") ==> #t (#=?> "A" "a") ==> #t SECTION(6 8) (# #(0 (2 2 2 2) "Anna")) ==> #t (# a b c) ==> #(a b c) (#) ==> #() (# #(0 (2 2 2 2) "Anna")) ==> 3 (# #()) ==> 0 (# #(1 1 2 3 5 8 13 21) 5) ==> 8 (vector-set #(0 ("Sue" "Sue") "Anna")) ==> #(0 ("Sue" "Sue") "Anna") (# 2 hi) ==> #(hi hi) (# 0) ==> #() (# 0 a) ==> #() SECTION(6 9) (# #) ==> #t (# car) ==> #f (# #) ==> #t (# (lambda (x) (* x x))) ==> #f (# #) ==> #t (# #) ==> #t (# # (3 4)) ==> 7 (# # (3 4)) ==> 7 (# # 10 (3 4)) ==> 17 (# # ()) ==> () (# 12 75) ==> 30 (# # ((a b) (d e) (g h))) ==> (b e h) (# # (1 2 3) (4 5 6)) ==> (5 7 9) (# # (1 2 3)) ==> (1 2 3) (# # (1 2 3)) ==> (1 2 3) (# # (1 2 3)) ==> (-1 -2 -3) (for-each #(0 1 4 9 16)) ==> #(0 1 4 9 16) (# #) ==> -3 (# (1 2 3 4)) ==> 4 (# (a b . c)) ==> #f (# # ()) ==> () SECTION(6 10 1) (# #) ==> #t (# #) ==> #t (# "r4rstest.scm" #) ==> #t (# #) ==> #t SECTION(6 10 2) (# #) ==> #\; (# #) ==> #\; (# #) ==> (define cur-section (quote ())) (# #) ==> #\( (# #) ==> (define errs (quote ())) SECTION(6 10 3) (# "tmp1" #) ==> #t (# #) ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)))) (# #) ==> #t (# #) ==> #t (input-port? #t) ==> #t (# #) ==> #\; (# #) ==> #\; (# #) ==> #\; (# #) ==> (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)) (# #) ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)))) (# #) ==> #t (# #) ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)))) (# #) ==> #t (# #) ==> #t (input-port? #t) ==> #t (# #) ==> #\; (# #) ==> #\; (# #) ==> #\; (# #) ==> (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)) (# #) ==> (define foo (quote (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)))) Passed all tests To fully test continuations, Scheme 4, and DELAY/FORCE do: (test-cont) (test-sc4) (test-delay) ;testing scheme 4 functions; SECTION(6 7) (#list> "P l") ==> (#\P #\space #\l) (#list> "") ==> () (#string> (#\1 #\\ #\")) ==> "1\\\"" (#string> ()) ==> "" SECTION(6 8) (#list> #(dah dah didah)) ==> (dah dah didah) (#list> #()) ==> () (#vector> (dididit dah)) ==> #(dididit dah) (#vector> ()) ==> #() SECTION(6 10 4) (load (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c))) ==> (#t #f a () 9739 -3 . #((test) "te \" \" st" "" test #() b c)) Passed all tests ;testing continuations; SECTION(6 9) (# (a (b (c))) ((a) b c)) ==> #t (# (a (b (c))) ((a) b c d)) ==> #f Passed all tests ;testing DELAY and FORCE; SECTION(6 9) (delay 3) ==> 3 (delay (3 3)) ==> (3 3) (delay 2) ==> 2 (# # count x) count (force p)))>>) ==> 6 (# #) ==> 6 (force 3) ==> 3 Passed all tests >>> Install scm-5.5.6 into /var/tmp/portage/dev-scheme/scm-5.5.6/image/ category dev-scheme make -j14 DESTDIR=/var/tmp/portage/dev-scheme/scm-5.5.6/image/ install mkdir -p /var/tmp/portage/dev-scheme/scm-5.5.6/image//usr/bin/ mkdir -p /var/tmp/portage/dev-scheme/scm-5.5.6/image//usr/man/man1/ cp scm scmlit /var/tmp/portage/dev-scheme/scm-5.5.6/image//usr/bin/ cp scm.1 /var/tmp/portage/dev-scheme/scm-5.5.6/image//usr/man/man1/ mkdir -p /var/tmp/portage/dev-scheme/scm-5.5.6/image//usr/lib/scm/ test -f /var/tmp/portage/dev-scheme/scm-5.5.6/image//usr/lib/scm/require.scm || \ cp requires.scm /var/tmp/portage/dev-scheme/scm-5.5.6/image//usr/lib/scm/require.scm cp Init5e6.scm Transcen.scm Link.scm Macro.scm Macexp.scm Tscript.scm compile.scm Iedline.scm Idiffer.scm hobbit.scm scmhob.scm scmhob.h COPYING COPYING.LESSER r4rstest.scm build build.scm mkimpcat.scm *.so patchlvl.h xatoms.scm x11.scm xevent.scm keysymdef.scm /var/tmp/portage/dev-scheme/scm-5.5.6/image//usr/lib/scm/ >>> Completed installing scm-5.5.6 into /var/tmp/portage/dev-scheme/scm-5.5.6/image/ * Tinderbox QA Warning! Invalid directories in image /usr/man/man1 /usr/man/man1/scm.1 * Tinderbox QA Warning (end)! Invalid directories in image * Tinderbox QA Notice! Insecure functions used tmpnam@@GLIBC_2.0 /var/tmp/portage/dev-scheme/scm-5.5.6/image/usr/bin/scm tmpnam@@GLIBC_2.0 /var/tmp/portage/dev-scheme/scm-5.5.6/image/usr/bin/scmlit * Tinderbox QA Notice (end)! Insecure functions used strip: i686-pc-linux-gnu-strip --strip-unneeded -R .comment usr/lib/scm/edline.so usr/lib/scm/crs.so usr/bin/scm usr/bin/scmlit  * QA Notice: Files built without respecting LDFLAGS have been detected * Please include the following list of files in your report: * /usr/lib/scm/edline.so * /usr/lib/scm/crs.so * /usr/bin/scmlit  * Regenerating catalog... * Gentoo contact information ... herds: scheme maintainers: hkBst@gentoo.org