copying required files to test-repository ... ======================================== compiler tests ... ../chicken compiler-tests.scm -output-file a.c -include-path .. Warning: global variable `foo#bar' is never used gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -I.. -I/usr/local/include rm a.c gcc a.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm a.o #t 12 12 12 12 12 ======================================== compiler tests (2) ... ../chicken compiler-tests.scm -output-file a.c -include-path .. -lambda-lift Warning: global variable `foo#bar' is never used gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -I.. -I/usr/local/include rm a.c gcc a.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm a.o #t 12 12 12 12 12 ======================================== scrutiny tests ... ../chicken scrutiny-tests.scm -output-file a.c -include-path .. -scrutinize -analyze-only -ignore-repository -types ../types.db ======================================== runtime tests ... many arguments supported. ../chicken test-gc-hooks.scm -output-file a.c -include-path .. gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -I.. -I/usr/local/include rm a.c gcc a.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm a.o major gc ... >>>>> GC pre hook - mode=0, count=0 [GC] level 1 gcs(minor) 1 gcs(major) 1 [GC] stack 0x7f7ffffa3250 0xfffffffffffa6be0 0x7f7ffffe3250 [GC] from 0x20f4d6000 0x20f501198 0x20f513090 0x2b198 [GC] to 0x203b42000 0x203b42000 0x203b7f090 [GC] 0 locatives (from 32) <<<<< GC post hook - mode=1, count=0, ms=10 minor gc ... >>>>> GC pre hook - mode=0, count=0 <<<<< GC post hook - mode=0, count=0, ms=8652091168 alloc ... >>>>> GC pre hook - mode=0, count=0 [GC] level 1 gcs(minor) 1 gcs(major) 2 [GC] stack 0x7f7ffffa3250 0xfffffffffffe2110 0x7f7ffffe3250 [GC] from 0x203b42000 0x203b6d198 0x203b7f090 0x2b198 [GC] to 0x20f4d6000 0x20f4d6000 0x20f513090 [GC] 0 locatives (from 32) <<<<< GC post hook - mode=1, count=0, ms=0 >>>>> GC pre hook - mode=2, count=0 (old) fromspace: start=203b42000, limit=203b7f090 (old) tospace: start=20f4d6000, limit=20f513090 [GC] resized heap to 11000008 bytes (new) fromspace: start=210575000, limit=210ab3c64 (new) tospace: start=205365000, limit=2058a3c64 <<<<< GC post hook - mode=2, count=0, ms=0 >>>>> GC pre hook - mode=2, count=0 (old) fromspace: start=210575000, limit=210ab3c64 (old) tospace: start=205365000, limit=2058a3c64 [GC] resized heap to 32000024 bytes (new) fromspace: start=205d0e000, limit=206c5040c (new) tospace: start=208cf8000, limit=209c3a40c <<<<< GC post hook - mode=2, count=0, ms=0 resize ... >>>>> GC pre hook - mode=2, count=0 (old) fromspace: start=205d0e000, limit=206c5040c (old) tospace: start=208cf8000, limit=209c3a40c [GC] resized heap to 64000048 bytes (new) fromspace: start=210575000, limit=2123f9818 (new) tospace: start=2123fa000, limit=21427e818 <<<<< GC post hook - mode=2, count=0, ms=0 major gc ... >>>>> GC pre hook - mode=0, count=0 >>>>> GC pre hook - mode=2, count=1 (old) fromspace: start=210575000, limit=2123f9818 (old) tospace: start=2123fa000, limit=21427e818 [GC] resized heap to 32000024 bytes (new) fromspace: start=20babe000, limit=20ca0040c (new) tospace: start=210575000, limit=2114b740c <<<<< GC post hook - mode=2, count=1, ms=0 [GC] level 1 gcs(minor) 0 gcs(major) 3 [GC] stack 0x7f7ffffa3250 0xfffffffffffe0f90 0x7f7ffffe3250 [GC] from 0x20babe000 0x20bae9198 0x20ca0040c 0x2b198 [GC] to 0x210575000 0x210575000 0x2114b740c [GC] 0 locatives (from 32) <<<<< GC post hook - mode=1, count=0, ms=0 minor gc ... >>>>> GC pre hook - mode=0, count=0 <<<<< GC post hook - mode=0, count=0, ms=8821599005 >>>>> GC pre hook - mode=0, count=0 >>>>> GC pre hook - mode=2, count=1 (old) fromspace: start=20babe000, limit=20ca0040c (old) tospace: start=210575000, limit=2114b740c [GC] resized heap to 16000012 bytes (new) fromspace: start=20d3df000, limit=20db80206 (new) tospace: start=204b6d000, limit=20530e206 <<<<< GC post hook - mode=2, count=1, ms=0 [GC] level 1 gcs(minor) 1 gcs(major) 4 [GC] stack 0x7f7ffffa3250 0xfffffffffffe2ba0 0x7f7ffffe3250 [GC] from 0x20d3df000 0x20d40a1e8 0x20db80206 0x2b1e8 [GC] to 0x204b6d000 0x204b6d000 0x20530e206 [GC] 0 locatives (from 32) <<<<< GC post hook - mode=1, count=0, ms=10 ======================================== library tests ... ======================================== syntax tests ... 3 100 (M1: (m1 n)) 3628800 34 45 now outer 7 "baz" "no baz" "no baz" ok (3 4) (... 1 2 3) 3 (99) 7 (1 2 3) 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 3 ok caught ======================================== syntax tests (compiled) ... ../chicken syntax-tests.scm -output-file a.c -include-path .. Warning: redefinition of extended binding `setter' Warning: local assignment to unused variable `prefixed-self-reference1#a' may be unintended Warning: local assignment to unused variable `prefixed-self-reference1#b' may be unintended Warning: local assignment to unused variable `prefixed-self-reference1#c' may be unintended Warning: local assignment to unused variable `prefixed-self-reference2#a' may be unintended Warning: global variable `prefixed-self-reference2#a' is never used Warning: local assignment to unused variable `prefixed-self-reference2#b' may be unintended Warning: global variable `prefixed-self-reference2#b' is never used Warning: local assignment to unused variable `prefixed-self-reference2#c' may be unintended Warning: global variable `prefixed-self-reference2#c' is never used (M1: (m1 n)) gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -I.. -I/usr/local/include rm a.c gcc a.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm a.o 3 100 3628800 34 45 now outer 7 "baz" "no baz" "no baz" ok (3 4) (... 1 2 3) 3 (99) 7 (1 2 3) 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 3 ok caught ======================================== syntax tests (2, compiled) ... ../chicken syntax-tests-2.scm -output-file a.c -include-path .. gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -I.. -I/usr/local/include rm a.c gcc a.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm a.o ======================================== compiler syntax tests ... ../chicken compiler-syntax-tests.scm -output-file a.c -include-path .. gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -I.. -I/usr/local/include rm a.c gcc a.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm a.o 9 oink! 1 ======================================== import library tests ... ../chicken import-library-test1.scm -output-file a.c -include-path .. -emit-import-library foo gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -I.. -I/usr/local/include rm a.c gcc a.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm a.o ../chicken foo.import.scm -output-file foo.import.c -dynamic -feature chicken-compile-shared -feature chicken-compile-shared -include-path .. gcc foo.import.c -o foo.import.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -fPIC -DPIC -DC_SHARED -I.. -I/usr/local/include rm foo.import.c gcc foo.import.o -o foo.import.so -shared -shared -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm rm foo.import.o ../chicken import-library-test2.scm -output-file a.c -include-path .. gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -I.. -I/usr/local/include rm a.c gcc a.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm a.o ======================================== syntax tests (matchable) ... (PASS) any (PASS) symbol (PASS) number (PASS) string (PASS) literal symbol (PASS) null (PASS) pair (PASS) vector (PASS) any doubled (PASS) and empty (PASS) and single (PASS) and double (PASS) or empty (PASS) or single (PASS) or double (PASS) not (PASS) pred (PASS) named pred (PASS) duplicate symbols pass (PASS) duplicate symbols fail (PASS) duplicate symbols samth (PASS) ellipses (PASS) real ellipses (PASS) vector ellipses (PASS) pred ellipses (PASS) failure continuation (PASS) let (PASS) let* (PASS) getter car (PASS) getter cdr (PASS) getter vector (PASS) setter car (PASS) setter cdr (PASS) setter vector (PASS) single tail (PASS) single tail 2 (PASS) multiple tail (PASS) Riastradh quasiquote 38 tests completed in 0.108 seconds 38 (100.00%) tests passed 0 (0.00%) tests failed ======================================== syntax tests (loopy-loop) ... (PASS) stepping (PASS) basic in-list (PASS) in-list with result (PASS) in-list with collecting (PASS) uneven length in-list's (PASS) in-lists (PASS) flatten (recursion test) (PASS) in-string (PASS) in-string with start (PASS) in-string with start and end (PASS) in-string with start, end and step (PASS) in-string-reverse (PASS) in-vector (PASS) in-permutations (PASS) in-permutations with length (PASS) in-combinations (PASS) in-hash-table 17 tests completed in 0.254 seconds 17 (100.00%) tests passed 0 (0.00%) tests failed ======================================== syntax tests (r5rs_pitfalls) ... Failure: 1.1, expected '0', got '1'. Failure: 1.2, expected '#t', got '#f'. Passed: 1.3 Passed: 2.1 Passed: 3.1 Passed: 3.2 Passed: 3.3 Passed: 3.4 Passed: 4.1 Passed: 4.2 Passed: 4.3 Passed: 5.1 Passed: 5.2 Passed: 5.3 Passed: 6.1 Passed: 7.1 Passed: 7.2 Passed: 7.3 Passed: 7.4 Passed: 8.1 Passed: 8.2 Passed: 8.3 Map is call/cc safe, but probably not tail recursive or inefficient. ======================================== module tests ... (PASS) internal/variable (PASS) external/unimported variable (fail) (PASS) external/unimported syntax (fail) (PASS) external/imported variable (PASS) external/imported syntax (PASS) modified import (PASS) hidden import (PASS) prefixed import and reexport ok. (PASS) indirect imports f1 (PASS) chained indirect imports (PASS) literal compare and export (PASS) redefinition of indirect import (PASS) redefinition of indirect import (II) (PASS) value reexport (PASS) syntax reexport (PASS) primitive indirect value-binding reexport (PASS) extended lambda list uses expansion environment 17 tests completed in 0.038 seconds 17 (100.00%) tests passed 0 (0.00%) tests failed ======================================== module tests (compiled) ... ../chicken module-tests-compiled.scm -output-file a.c -include-path .. gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -I.. -I/usr/local/include rm a.c gcc a.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm a.o (PASS) inline in syntax (PASS) unmarked primitive exports 2 tests completed in 0.001 seconds 2 (100.00%) tests passed 0 (0.00%) tests failed ======================================== module tests (chained) ... f1 ../chicken test-chained-modules.scm -output-file test-chained-modules.c -dynamic -feature chicken-compile-shared -include-path .. -emit-import-library m3 gcc test-chained-modules.c -o test-chained-modules.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I.. -I/usr/local/include rm test-chained-modules.c gcc test-chained-modules.o -o test-chained-modules.so -shared -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm rm test-chained-modules.o ../chicken m3.import.scm -output-file m3.import.c -dynamic -feature chicken-compile-shared -include-path .. gcc m3.import.c -o m3.import.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I.. -I/usr/local/include rm m3.import.c gcc m3.import.o -o m3.import.so -shared -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm rm m3.import.o CHICKEN (c)2008-2009 The Chicken Team (c)2000-2007 Felix L. Winkelmann Version 4.1.0 - SVN rev. 15292 openbsd-unix-gnu-x86-64 [ 64bit manyargs dload ptables applyhook ] compiled 2009-08-28 on kili.jsbsystems.com (OpenBSD) ; loading test-chained-modules.so ... ; loading /usr/local/lib/chicken/4/scheme.import.so ... ; loading /usr/local/lib/chicken/4/chicken.import.so ... f1 f1 f1 ======================================== module tests (ec) ... (let ((x 0)) (do-ec (set! x (+ x 1))) x) => 1 ; correct (let ((x 0)) (do-ec (:range i 10) (set! x (+ x 1))) x) => 10 ; correct (let ((x 0)) (do-ec (:range n 10) (:range k n) (set! x (+ x 1))) x) => 45 ; correct (list-ec 1) => (1) ; correct (list-ec (:range i 4) i) => (0 1 2 3) ; correct (list-ec (:range n 3) (:range k (+ n 1)) (list n k)) => ((0 0) (1 0) (1 1) (2 0) (2 1) (2 2)) ; correct (list-ec (:range n 5) (if (even? n)) (:range k (+ n 1)) (list n k)) => ((0 0) (2 0) (2 1) (2 2) (4 0) (4 1) (4 2) (4 3) (4 4)) ; correct (list-ec (:range n 5) (not (even? n)) (:range k (+ n 1)) (list n k)) => ((1 0) (1 1) (3 0) (3 1) (3 2) (3 3)) ; correct (list-ec (:range n 5) (and (even? n) (> n 2)) (:range k (+ n 1)) (list n k)) => ((4 0) (4 1) (4 2) (4 3) (4 4)) ; correct (list-ec (:range n 5) (or (even? n) (> n 3)) (:range k (+ n 1)) (list n k)) => ((0 0) (2 0) (2 1) (2 2) (4 0) (4 1) (4 2) (4 3) (4 4)) ; correct (let ((x 0)) (list-ec (:range n 10) (begin (set! x (+ x 1))) n) x) => 10 ; correct (list-ec (nested (:range n 3) (:range k n)) k) => (0 0 1) ; correct (append-ec (quote (a b))) => (a b) ; correct (append-ec (:range i 0) (quote (a b))) => () ; correct (append-ec (:range i 1) (quote (a b))) => (a b) ; correct (append-ec (:range i 2) (quote (a b))) => (a b a b) ; correct (string-ec #\a) => "a" ; correct (string-ec (:range i 0) #\a) => "" ; correct (string-ec (:range i 1) #\a) => "a" ; correct (string-ec (:range i 2) #\a) => "aa" ; correct (string-append-ec "ab") => "ab" ; correct (string-append-ec (:range i 0) "ab") => "" ; correct (string-append-ec (:range i 1) "ab") => "ab" ; correct (string-append-ec (:range i 2) "ab") => "abab" ; correct (vector-ec 1) => #(1) ; correct (vector-ec (:range i 0) i) => #() ; correct (vector-ec (:range i 1) i) => #(0) ; correct (vector-ec (:range i 2) i) => #(0 1) ; correct (vector-of-length-ec 1 1) => #(1) ; correct (vector-of-length-ec 0 (:range i 0) i) => #() ; correct (vector-of-length-ec 1 (:range i 1) i) => #(0) ; correct (vector-of-length-ec 2 (:range i 2) i) => #(0 1) ; correct (sum-ec 1) => 1 ; correct (sum-ec (:range i 0) i) => 0 ; correct (sum-ec (:range i 1) i) => 0 ; correct (sum-ec (:range i 2) i) => 1 ; correct (sum-ec (:range i 3) i) => 3 ; correct (product-ec 1) => 1 ; correct (product-ec (:range i 1 0) i) => 1 ; correct (product-ec (:range i 1 1) i) => 1 ; correct (product-ec (:range i 1 2) i) => 1 ; correct (product-ec (:range i 1 3) i) => 2 ; correct (product-ec (:range i 1 4) i) => 6 ; correct (min-ec 1) => 1 ; correct (min-ec (:range i 1) i) => 0 ; correct (min-ec (:range i 2) i) => 0 ; correct (max-ec 1) => 1 ; correct (max-ec (:range i 1) i) => 0 ; correct (max-ec (:range i 2) i) => 1 ; correct (first-ec #f 1) => 1 ; correct (first-ec #f (:range i 0) i) => #f ; correct (first-ec #f (:range i 1) i) => 0 ; correct (first-ec #f (:range i 2) i) => 0 ; correct (let ((last-i -1)) (first-ec #f (:range i 10) (begin (set! last-i i)) i) last-i) => 0 ; correct (last-ec #f 1) => 1 ; correct (last-ec #f (:range i 0) i) => #f ; correct (last-ec #f (:range i 1) i) => 0 ; correct (last-ec #f (:range i 2) i) => 1 ; correct (any?-ec #f) => #f ; correct (any?-ec #t) => #t ; correct (any?-ec (:range i 2 2) (even? i)) => #f ; correct (any?-ec (:range i 2 3) (even? i)) => #t ; correct (every?-ec #f) => #f ; correct (every?-ec #t) => #t ; correct (every?-ec (:range i 2 2) (even? i)) => #t ; correct (every?-ec (:range i 2 3) (even? i)) => #t ; correct (every?-ec (:range i 2 4) (even? i)) => #f ; correct (let ((sum-sqr (lambda (x result) (+ result (* x x))))) (fold-ec 0 (:range i 10) i sum-sqr)) => 285 ; correct (let ((minus-1 (lambda (x) (- x 1))) (sum-sqr (lambda (x result) (+ result (* x x))))) (fold3-ec (error "wrong") (:range i 10) i minus-1 sum-sqr)) => 284 ; correct (fold3-ec (quote infinity) (:range i 0) i min min) => infinity ; correct (list-ec (:list x (quote ())) x) => () ; correct (list-ec (:list x (quote (1))) x) => (1) ; correct (list-ec (:list x (quote (1 2 3))) x) => (1 2 3) ; correct (list-ec (:list x (quote (1)) (quote (2))) x) => (1 2) ; correct (list-ec (:list x (quote (1)) (quote (2)) (quote (3))) x) => (1 2 3) ; correct (list-ec (:string c "") c) => () ; correct (list-ec (:string c "1") c) => (#\1) ; correct (list-ec (:string c "123") c) => (#\1 #\2 #\3) ; correct (list-ec (:string c "1" "2") c) => (#\1 #\2) ; correct (list-ec (:string c "1" "2" "3") c) => (#\1 #\2 #\3) ; correct (list-ec (:vector x (vector)) x) => () ; correct (list-ec (:vector x (vector 1)) x) => (1) ; correct (list-ec (:vector x (vector 1 2 3)) x) => (1 2 3) ; correct (list-ec (:vector x (vector 1) (vector 2)) x) => (1 2) ; correct (list-ec (:vector x (vector 1) (vector 2) (vector 3)) x) => (1 2 3) ; correct (list-ec (:range x -2) x) => () ; correct (list-ec (:range x -1) x) => () ; correct (list-ec (:range x 0) x) => () ; correct (list-ec (:range x 1) x) => (0) ; correct (list-ec (:range x 2) x) => (0 1) ; correct (list-ec (:range x 0 3) x) => (0 1 2) ; correct (list-ec (:range x 1 3) x) => (1 2) ; correct (list-ec (:range x -2 -1) x) => (-2) ; correct (list-ec (:range x -2 -2) x) => () ; correct (list-ec (:range x 1 5 2) x) => (1 3) ; correct (list-ec (:range x 1 6 2) x) => (1 3 5) ; correct (list-ec (:range x 5 1 -2) x) => (5 3) ; correct (list-ec (:range x 6 1 -2) x) => (6 4 2) ; correct (list-ec (:real-range x 0.0 3.0) x) => (0.0 1.0 2.0) ; correct (list-ec (:real-range x 0 3.0) x) => (0.0 1.0 2.0) ; correct (list-ec (:real-range x 0 3 1.0) x) => (0.0 1.0 2.0) ; correct (string-ec (:char-range c #\a #\z) c) => "abcdefghijklmnopqrstuvwxyz" ; correct (begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (:port x port read) x)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (:port x port) x)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (list-ec (:do ((i 0)) (< i 4) ((+ i 1))) i) => (0 1 2 3) ; correct (list-ec (:do (let ((x (quote x)))) ((i 0)) (< i 4) (let ((j (- 10 i)))) #t ((+ i 1))) j) => (10 9 8 7) ; correct (list-ec (:let x 1) x) => (1) ; correct (list-ec (:let x 1) (:let y (+ x 1)) y) => (2) ; correct (list-ec (:let x 1) (:let x (+ x 1)) x) => (2) ; correct (list-ec (:parallel (:range i 1 10) (:list x (quote (a b c)))) (list i x)) => ((1 a) (2 b) (3 c)) ; correct (list-ec (:while (:range i 1 10) (< i 5)) i) => (1 2 3 4) ; correct (list-ec (:until (:range i 1 10) (>= i 5)) i) => (1 2 3 4 5) ; correct (list-ec (:while (:list i (quote (1 2 3 4 5 6 7 8 9))) (< i 5)) i) => (1 2 3 4) ; correct (list-ec (:until (:list i (quote (1 2 3 4 5 6 7 8 9))) (>= i 5)) i) => (1 2 3 4 5) ; correct (list-ec (:while (:vector x (index i) (quote #(1 2 3 4 5))) (< x 10)) x) => (1 2 3 4 5) ; correct (list-ec (:while (:parallel (:range i 1 10) (:list j (quote (1 2 3 4 5 6 7 8 9)))) (< i 5)) (list i j)) => ((1 1) (2 2) (3 3) (4 4)) ; correct (list-ec (:until (:parallel (:range i 1 10) (:list j (quote (1 2 3 4 5 6 7 8 9)))) (>= i 5)) (list i j)) => ((1 1) (2 2) (3 3) (4 4) (5 5)) ; correct (let ((n 0)) (do-ec (:while (:range i 1 10) (begin (set! n (+ n 1)) (< i 5))) (if #f #f)) n) => 5 ; correct (let ((n 0)) (do-ec (:until (:range i 1 10) (begin (set! n (+ n 1)) (>= i 5))) (if #f #f)) n) => 5 ; correct (let ((n 0)) (do-ec (:while (:parallel (:range i 1 10) (:do () (begin (set! n (+ n 1)) #t) ())) (< i 5)) (if #f #f)) n) => 5 ; correct (let ((n 0)) (do-ec (:until (:parallel (:range i 1 10) (:do () (begin (set! n (+ n 1)) #t) ())) (>= i 5)) (if #f #f)) n) => 5 ; correct (list-ec (: c (quote (a b))) c) => (a b) ; correct (list-ec (: c (quote (a b)) (quote (c d))) c) => (a b c d) ; correct (list-ec (: c "ab") c) => (#\a #\b) ; correct (list-ec (: c "ab" "cd") c) => (#\a #\b #\c #\d) ; correct (list-ec (: c (vector (quote a) (quote b))) c) => (a b) ; correct (list-ec (: c (vector (quote a) (quote b)) (vector (quote c))) c) => (a b c) ; correct (list-ec (: i 0) i) => () ; correct (list-ec (: i 1) i) => (0) ; correct (list-ec (: i 10) i) => (0 1 2 3 4 5 6 7 8 9) ; correct (list-ec (: i 1 2) i) => (1) ; correct (list-ec (: i 1 2 3) i) => (1) ; correct (list-ec (: i 1 9 3) i) => (1 4 7) ; correct (list-ec (: i 0.0 1.0 0.2) i) => (0.0 0.2 0.4 0.6 0.8) ; correct (list-ec (: c #\a #\c) c) => (#\a #\b #\c) ; correct (begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (: x port read) x)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (: x port) x)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (list-ec (:list c (index i) (quote (a b))) (list c i)) => ((a 0) (b 1)) ; correct (list-ec (:string c (index i) "a") (list c i)) => ((#\a 0)) ; correct (list-ec (:vector c (index i) (vector (quote a))) (list c i)) => ((a 0)) ; correct (list-ec (:range i (index j) 0 -3 -1) (list i j)) => ((0 0) (-1 1) (-2 2)) ; correct (list-ec (:real-range i (index j) 0 1 0.2) (list i j)) => ((0.0 0) (0.2 1) (0.4 2) (0.6 3) (0.8 4)) ; correct (list-ec (:char-range c (index i) #\a #\c) (list c i)) => ((#\a 0) (#\b 1) (#\c 2)) ; correct (list-ec (: x (index i) (quote (a b c d))) (list x i)) => ((a 0) (b 1) (c 2) (d 3)) ; correct (begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (: x (index i) port) (list x i))))) => ((0 0) (1 1) (2 2) (3 3) (4 4) (5 5) (6 6) (7 7) (8 8) (9 9)) ; correct (list-ec (: i 5) (* i i)) => (0 1 4 9 16) ; correct (list-ec (: n 1 4) (: i n) (list n i)) => ((1 0) (2 0) (2 1) (3 0) (3 1) (3 2)) ; correct (list-ec (: x (index i) "abc") (list x i)) => ((#\a 0) (#\b 1) (#\c 2)) ; correct (list-ec (:string c (index i) "a" "b") (cons c i)) => ((#\a . 0) (#\b . 1)) ; correct (list-ec (:range x 5) (:range x x) x) => (0 0 1 0 1 2 0 1 2 3) ; correct (list-ec (:list x (quote (2 "23" (4)))) (: y x) y) => (0 1 #\2 #\3 4) ; correct (list-ec (:parallel (:integers x) (:do ((i 10)) (< x i) ((- i 1)))) (list x i)) => ((0 10) (1 9) (2 8) (3 7) (4 6)) ; correct (factorial 0) => 1 ; correct (factorial 1) => 1 ; correct (factorial 3) => 6 ; correct (factorial 5) => 120 ; correct (eratosthenes 50) => (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47) ; correct (length (eratosthenes 100000)) => 9592 ; correct (pythagoras 15) => ((3 4 5) (5 12 13) (6 8 10) (9 12 15)) ; correct (length (pythagoras 200)) => 127 ; correct (qsort (quote (1 5 4 2 4 5 3 2 1 3))) => (1 1 2 2 3 3 4 4 5 5) ; correct (pi-BBP 5) => 3.14159265322809 ; correct (begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (read-lines "tmp1")) => ("0\n" "1\n" "2\n" "3\n" "4\n" "5\n" "6\n" "7\n" "8\n" "9\n") ; correct correct examples : 163 wrong examples : 0 ../chicken ec.scm -output-file ec.c -dynamic -feature chicken-compile-shared -include-path .. -emit-import-library ec gcc ec.c -o ec.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I.. -I/usr/local/include rm ec.c gcc ec.o -o ec.so -shared -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm rm ec.o ../chicken ec.import.scm -output-file ec.import.c -dynamic -feature chicken-compile-shared -include-path .. gcc ec.import.c -o ec.import.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I.. -I/usr/local/include rm ec.import.c gcc ec.import.o -o ec.import.so -shared -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm rm ec.import.o (let ((x 0)) (do-ec (set! x (+ x 1))) x) => 1 ; correct (let ((x 0)) (do-ec (:range i 10) (set! x (+ x 1))) x) => 10 ; correct (let ((x 0)) (do-ec (:range n 10) (:range k n) (set! x (+ x 1))) x) => 45 ; correct (list-ec 1) => (1) ; correct (list-ec (:range i 4) i) => (0 1 2 3) ; correct (list-ec (:range n 3) (:range k (+ n 1)) (list n k)) => ((0 0) (1 0) (1 1) (2 0) (2 1) (2 2)) ; correct (list-ec (:range n 5) (if (even? n)) (:range k (+ n 1)) (list n k)) => ((0 0) (2 0) (2 1) (2 2) (4 0) (4 1) (4 2) (4 3) (4 4)) ; correct (list-ec (:range n 5) (not (even? n)) (:range k (+ n 1)) (list n k)) => ((1 0) (1 1) (3 0) (3 1) (3 2) (3 3)) ; correct (list-ec (:range n 5) (and (even? n) (> n 2)) (:range k (+ n 1)) (list n k)) => ((4 0) (4 1) (4 2) (4 3) (4 4)) ; correct (list-ec (:range n 5) (or (even? n) (> n 3)) (:range k (+ n 1)) (list n k)) => ((0 0) (2 0) (2 1) (2 2) (4 0) (4 1) (4 2) (4 3) (4 4)) ; correct (let ((x 0)) (list-ec (:range n 10) (begin (set! x (+ x 1))) n) x) => 10 ; correct (list-ec (nested (:range n 3) (:range k n)) k) => (0 0 1) ; correct (append-ec (quote (a b))) => (a b) ; correct (append-ec (:range i 0) (quote (a b))) => () ; correct (append-ec (:range i 1) (quote (a b))) => (a b) ; correct (append-ec (:range i 2) (quote (a b))) => (a b a b) ; correct (string-ec #\a) => "a" ; correct (string-ec (:range i 0) #\a) => "" ; correct (string-ec (:range i 1) #\a) => "a" ; correct (string-ec (:range i 2) #\a) => "aa" ; correct (string-append-ec "ab") => "ab" ; correct (string-append-ec (:range i 0) "ab") => "" ; correct (string-append-ec (:range i 1) "ab") => "ab" ; correct (string-append-ec (:range i 2) "ab") => "abab" ; correct (vector-ec 1) => #(1) ; correct (vector-ec (:range i 0) i) => #() ; correct (vector-ec (:range i 1) i) => #(0) ; correct (vector-ec (:range i 2) i) => #(0 1) ; correct (vector-of-length-ec 1 1) => #(1) ; correct (vector-of-length-ec 0 (:range i 0) i) => #() ; correct (vector-of-length-ec 1 (:range i 1) i) => #(0) ; correct (vector-of-length-ec 2 (:range i 2) i) => #(0 1) ; correct (sum-ec 1) => 1 ; correct (sum-ec (:range i 0) i) => 0 ; correct (sum-ec (:range i 1) i) => 0 ; correct (sum-ec (:range i 2) i) => 1 ; correct (sum-ec (:range i 3) i) => 3 ; correct (product-ec 1) => 1 ; correct (product-ec (:range i 1 0) i) => 1 ; correct (product-ec (:range i 1 1) i) => 1 ; correct (product-ec (:range i 1 2) i) => 1 ; correct (product-ec (:range i 1 3) i) => 2 ; correct (product-ec (:range i 1 4) i) => 6 ; correct (min-ec 1) => 1 ; correct (min-ec (:range i 1) i) => 0 ; correct (min-ec (:range i 2) i) => 0 ; correct (max-ec 1) => 1 ; correct (max-ec (:range i 1) i) => 0 ; correct (max-ec (:range i 2) i) => 1 ; correct (first-ec #f 1) => 1 ; correct (first-ec #f (:range i 0) i) => #f ; correct (first-ec #f (:range i 1) i) => 0 ; correct (first-ec #f (:range i 2) i) => 0 ; correct (let ((last-i -1)) (first-ec #f (:range i 10) (begin (set! last-i i)) i) last-i) => 0 ; correct (last-ec #f 1) => 1 ; correct (last-ec #f (:range i 0) i) => #f ; correct (last-ec #f (:range i 1) i) => 0 ; correct (last-ec #f (:range i 2) i) => 1 ; correct (any?-ec #f) => #f ; correct (any?-ec #t) => #t ; correct (any?-ec (:range i 2 2) (even? i)) => #f ; correct (any?-ec (:range i 2 3) (even? i)) => #t ; correct (every?-ec #f) => #f ; correct (every?-ec #t) => #t ; correct (every?-ec (:range i 2 2) (even? i)) => #t ; correct (every?-ec (:range i 2 3) (even? i)) => #t ; correct (every?-ec (:range i 2 4) (even? i)) => #f ; correct (let ((sum-sqr (lambda (x result) (+ result (* x x))))) (fold-ec 0 (:range i 10) i sum-sqr)) => 285 ; correct (let ((minus-1 (lambda (x) (- x 1))) (sum-sqr (lambda (x result) (+ result (* x x))))) (fold3-ec (error "wrong") (:range i 10) i minus-1 sum-sqr)) => 284 ; correct (fold3-ec (quote infinity) (:range i 0) i min min) => infinity ; correct (list-ec (:list x (quote ())) x) => () ; correct (list-ec (:list x (quote (1))) x) => (1) ; correct (list-ec (:list x (quote (1 2 3))) x) => (1 2 3) ; correct (list-ec (:list x (quote (1)) (quote (2))) x) => (1 2) ; correct (list-ec (:list x (quote (1)) (quote (2)) (quote (3))) x) => (1 2 3) ; correct (list-ec (:string c "") c) => () ; correct (list-ec (:string c "1") c) => (#\1) ; correct (list-ec (:string c "123") c) => (#\1 #\2 #\3) ; correct (list-ec (:string c "1" "2") c) => (#\1 #\2) ; correct (list-ec (:string c "1" "2" "3") c) => (#\1 #\2 #\3) ; correct (list-ec (:vector x (vector)) x) => () ; correct (list-ec (:vector x (vector 1)) x) => (1) ; correct (list-ec (:vector x (vector 1 2 3)) x) => (1 2 3) ; correct (list-ec (:vector x (vector 1) (vector 2)) x) => (1 2) ; correct (list-ec (:vector x (vector 1) (vector 2) (vector 3)) x) => (1 2 3) ; correct (list-ec (:range x -2) x) => () ; correct (list-ec (:range x -1) x) => () ; correct (list-ec (:range x 0) x) => () ; correct (list-ec (:range x 1) x) => (0) ; correct (list-ec (:range x 2) x) => (0 1) ; correct (list-ec (:range x 0 3) x) => (0 1 2) ; correct (list-ec (:range x 1 3) x) => (1 2) ; correct (list-ec (:range x -2 -1) x) => (-2) ; correct (list-ec (:range x -2 -2) x) => () ; correct (list-ec (:range x 1 5 2) x) => (1 3) ; correct (list-ec (:range x 1 6 2) x) => (1 3 5) ; correct (list-ec (:range x 5 1 -2) x) => (5 3) ; correct (list-ec (:range x 6 1 -2) x) => (6 4 2) ; correct (list-ec (:real-range x 0.0 3.0) x) => (0.0 1.0 2.0) ; correct (list-ec (:real-range x 0 3.0) x) => (0.0 1.0 2.0) ; correct (list-ec (:real-range x 0 3 1.0) x) => (0.0 1.0 2.0) ; correct (string-ec (:char-range c #\a #\z) c) => "abcdefghijklmnopqrstuvwxyz" ; correct (begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (:port x port read) x)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (:port x port) x)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (list-ec (:do ((i 0)) (< i 4) ((+ i 1))) i) => (0 1 2 3) ; correct (list-ec (:do (let ((x (quote x)))) ((i 0)) (< i 4) (let ((j (- 10 i)))) #t ((+ i 1))) j) => (10 9 8 7) ; correct (list-ec (:let x 1) x) => (1) ; correct (list-ec (:let x 1) (:let y (+ x 1)) y) => (2) ; correct (list-ec (:let x 1) (:let x (+ x 1)) x) => (2) ; correct (list-ec (:parallel (:range i 1 10) (:list x (quote (a b c)))) (list i x)) => ((1 a) (2 b) (3 c)) ; correct (list-ec (:while (:range i 1 10) (< i 5)) i) => (1 2 3 4) ; correct (list-ec (:until (:range i 1 10) (>= i 5)) i) => (1 2 3 4 5) ; correct (list-ec (:while (:list i (quote (1 2 3 4 5 6 7 8 9))) (< i 5)) i) => (1 2 3 4) ; correct (list-ec (:until (:list i (quote (1 2 3 4 5 6 7 8 9))) (>= i 5)) i) => (1 2 3 4 5) ; correct (list-ec (:while (:vector x (index i) (quote #(1 2 3 4 5))) (< x 10)) x) => (1 2 3 4 5) ; correct (list-ec (:while (:parallel (:range i 1 10) (:list j (quote (1 2 3 4 5 6 7 8 9)))) (< i 5)) (list i j)) => ((1 1) (2 2) (3 3) (4 4)) ; correct (list-ec (:until (:parallel (:range i 1 10) (:list j (quote (1 2 3 4 5 6 7 8 9)))) (>= i 5)) (list i j)) => ((1 1) (2 2) (3 3) (4 4) (5 5)) ; correct (let ((n 0)) (do-ec (:while (:range i 1 10) (begin (set! n (+ n 1)) (< i 5))) (if #f #f)) n) => 5 ; correct (let ((n 0)) (do-ec (:until (:range i 1 10) (begin (set! n (+ n 1)) (>= i 5))) (if #f #f)) n) => 5 ; correct (let ((n 0)) (do-ec (:while (:parallel (:range i 1 10) (:do () (begin (set! n (+ n 1)) #t) ())) (< i 5)) (if #f #f)) n) => 5 ; correct (let ((n 0)) (do-ec (:until (:parallel (:range i 1 10) (:do () (begin (set! n (+ n 1)) #t) ())) (>= i 5)) (if #f #f)) n) => 5 ; correct (list-ec (: c (quote (a b))) c) => (a b) ; correct (list-ec (: c (quote (a b)) (quote (c d))) c) => (a b c d) ; correct (list-ec (: c "ab") c) => (#\a #\b) ; correct (list-ec (: c "ab" "cd") c) => (#\a #\b #\c #\d) ; correct (list-ec (: c (vector (quote a) (quote b))) c) => (a b) ; correct (list-ec (: c (vector (quote a) (quote b)) (vector (quote c))) c) => (a b c) ; correct (list-ec (: i 0) i) => () ; correct (list-ec (: i 1) i) => (0) ; correct (list-ec (: i 10) i) => (0 1 2 3 4 5 6 7 8 9) ; correct (list-ec (: i 1 2) i) => (1) ; correct (list-ec (: i 1 2 3) i) => (1) ; correct (list-ec (: i 1 9 3) i) => (1 4 7) ; correct (list-ec (: i 0.0 1.0 0.2) i) => (0.0 0.2 0.4 0.6 0.8) ; correct (list-ec (: c #\a #\c) c) => (#\a #\b #\c) ; correct (begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (: x port read) x)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (: x port) x)))) => (0 1 2 3 4 5 6 7 8 9) ; correct (list-ec (:list c (index i) (quote (a b))) (list c i)) => ((a 0) (b 1)) ; correct (list-ec (:string c (index i) "a") (list c i)) => ((#\a 0)) ; correct (list-ec (:vector c (index i) (vector (quote a))) (list c i)) => ((a 0)) ; correct (list-ec (:range i (index j) 0 -3 -1) (list i j)) => ((0 0) (-1 1) (-2 2)) ; correct (list-ec (:real-range i (index j) 0 1 0.2) (list i j)) => ((0.0 0) (0.2 1) (0.4 2) (0.6 3) (0.8 4)) ; correct (list-ec (:char-range c (index i) #\a #\c) (list c i)) => ((#\a 0) (#\b 1) (#\c 2)) ; correct (list-ec (: x (index i) (quote (a b c d))) (list x i)) => ((a 0) (b 1) (c 2) (d 3)) ; correct (begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (my-call-with-input-file "tmp1" (lambda (port) (list-ec (: x (index i) port) (list x i))))) => ((0 0) (1 1) (2 2) (3 3) (4 4) (5 5) (6 6) (7 7) (8 8) (9 9)) ; correct (list-ec (: i 5) (* i i)) => (0 1 4 9 16) ; correct (list-ec (: n 1 4) (: i n) (list n i)) => ((1 0) (2 0) (2 1) (3 0) (3 1) (3 2)) ; correct (list-ec (: x (index i) "abc") (list x i)) => ((#\a 0) (#\b 1) (#\c 2)) ; correct (list-ec (:string c (index i) "a" "b") (cons c i)) => ((#\a . 0) (#\b . 1)) ; correct (list-ec (:range x 5) (:range x x) x) => (0 0 1 0 1 2 0 1 2 3) ; correct (list-ec (:list x (quote (2 "23" (4)))) (: y x) y) => (0 1 #\2 #\3 4) ; correct (list-ec (:parallel (:integers x) (:do ((i 10)) (< x i) ((- i 1)))) (list x i)) => ((0 10) (1 9) (2 8) (3 7) (4 6)) ; correct (factorial 0) => 1 ; correct (factorial 1) => 1 ; correct (factorial 3) => 6 ; correct (factorial 5) => 120 ; correct (eratosthenes 50) => (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47) ; correct (length (eratosthenes 100000)) => 9592 ; correct (pythagoras 15) => ((3 4 5) (5 12 13) (6 8 10) (9 12 15)) ; correct (length (pythagoras 200)) => 127 ; correct (qsort (quote (1 5 4 2 4 5 3 2 1 3))) => (1 1 2 2 3 3 4 4 5 5) ; correct (pi-BBP 5) => 3.14159265322809 ; correct (begin (let ((f (my-open-output-file "tmp1"))) (do-ec (:range n 10) (begin (write n f) (newline f))) (close-output-port f)) (read-lines "tmp1")) => ("0\n" "1\n" "2\n" "3\n" "4\n" "5\n" "6\n" "7\n" "8\n" "9\n") ; correct correct examples : 163 wrong examples : 0 ======================================== hash-table tests ... SRFI 69 procedures HT - No Parameters HT - Test Parameter HT - Number Test Parameter HT - All Optional Parameters HT - All Parameters HT - Insert with setter HT - Insert with update! HT - A-List HT - set! overwrites HT - Delete HT - Remove HT - Make from A-List HT - Merge! HT - Merge HT - Map HT - Fold HT - Stress Insert 100000 Fixnum Key Items 0.37 seconds elapsed 0.1 seconds in (major) GC 258687 mutations 1886 minor GCs 17 major GCs HT - Stress Retrieve 100000 Fixnum Key Items 0.14 seconds elapsed 0 seconds in (major) GC 16 mutations 5411 minor GCs 0 major GCs ======================================== lolevel tests ... ======================================== port tests ... ======================================== fixnum tests ... ../chicken fixnum-tests.scm -output-file a.c -include-path .. gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -I.. -I/usr/local/include rm a.c gcc a.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm a.o ======================================== srfi-18 tests ... ======================================== path tests ... ======================================== regular expression tests ... irregex - (small): (PASS) abc abc y (PASS) abc xbc n (PASS) abc axc n (PASS) abc abx n (PASS) abc xabcy y (PASS) abc ababc y (PASS) ab*c abc y (PASS) ab*bc abc y (PASS) ab*bc abbc y (PASS) ab*bc abbbbc y (PASS) ab+bc abbc y (PASS) ab+bc abc n (PASS) ab+bc abq n (PASS) ab+bc abbbbc y (PASS) ab?bc abbc y (PASS) ab?bc abc y (PASS) ab?bc abbbbc n (PASS) ab?c abc y (PASS) ^abc$ abc y (PASS) ^abc$ abcc n (PASS) ^abc abcc y (PASS) ^abc$ aabc n (PASS) abc$ aabc y (PASS) ^ abc y (PASS) $ abc y (PASS) a.c abc y (PASS) a.c axc y (PASS) a.*c axyzc y (PASS) a.*c axyzd n (PASS) a[bc]d abc n (PASS) a[bc]d abd y (PASS) a[b-d]e abd n (PASS) a[b-d]e ace y (PASS) a[b-d] aac y (PASS) a[-b] a- y (PASS) a[b-] a- y (PASS) [k] ab n (PASS) a[b-a] - c (PASS) a[]b - c (PASS) a[ - c (PASS) a] a] y (PASS) a[]]b a]b y (PASS) a[^bc]d aed y (PASS) a[^bc]d abd n (PASS) a[^-b]c adc y (PASS) a[^-b]c a-c n (PASS) a[^]b]c a]c n (PASS) a[^]b]c adc y (PASS) ab|cd abc y (PASS) ab|cd abcd y (PASS) ()ef def y (PASS) ()* - c (PASS) *a - c (PASS) ^* - c (PASS) $* - c (PASS) (*)b - c (PASS) $b b n (PASS) a\ - c (PASS) a\(b a(b y (PASS) a\(*b ab y (PASS) a\(*b a((b y (PASS) a\\b a\b y (PASS) abc) - c (PASS) (abc - c (PASS) ((a)) abc y (PASS) (a)b(c) abc y (PASS) a+b+c aabbabc y (PASS) a** - c (PASS) (a*)* - c (PASS) (a*)+ - c (PASS) (a|)* - c (PASS) (a*|b)* - c (PASS) (a+|b)* ab y (PASS) (a+|b)+ ab y (PASS) (a+|b)? ab y (PASS) [^ab]* cde y (PASS) (^)* - c (PASS) (ab|)* - c (PASS) )( - c (PASS) abc y (PASS) abc n (PASS) a* y (PASS) abcd abcd y (PASS) a(bc)d abcd y (PASS) ([abc])*d abbbcd y (PASS) ([abc])*bcd abcd y (PASS) a|b|c|d|e e y (PASS) (a|b|c|d|e)f ef y (PASS) ((a*|b))* - c (PASS) abcd*efg abcdefg y (PASS) ab* xabyabbbz y (PASS) ab* xayabbbz y (PASS) (ab|cd)e abcde y (PASS) [abhgefdc]ij hij y (PASS) ^(ab|cd)e abcde n (PASS) (abc|)ef abcdef y (PASS) (a|b)c*d abcd y (PASS) (ab|ab*)bc abc y (PASS) a([bc]*)c* abc y (PASS) a([bc]*)(c*d) abcd y (PASS) a([bc]+)(c*d) abcd y (PASS) a([bc]*)(c+d) abcd y (PASS) a[bcd]*dcdcde adcdcde y (PASS) a[bcd]+dcdcde adcdcde n (PASS) (ab|a)b*c abc y (PASS) ((a)(b)c)(d) abcd y (PASS) [ -~]* abc y (PASS) [ -~ -~]* abc y (PASS) [ -~ -~ -~]* abc y (PASS) [ -~ -~ -~ -~]* abc y (PASS) [ -~ -~ -~ -~ -~]* abc y (PASS) [ -~ -~ -~ -~ -~ -~]* abc y (PASS) [ -~ -~ -~ -~ -~ -~ -~]* abc y (PASS) [a-zA-Z_][a-zA-Z0-9_]* alpha y (PASS) ^a(bc+|b[eh])g|.h$ abh y (PASS) (bc+d$|ef*g.|h?i(j|k)) effgz y (PASS) (bc+d$|ef*g.|h?i(j|k)) ij y (PASS) (bc+d$|ef*g.|h?i(j|k)) effg n (PASS) (bc+d$|ef*g.|h?i(j|k)) bcdd n (PASS) (bc+d$|ef*g.|h?i(j|k)) reffgz y (PASS) (((((((((a))))))))) a y (PASS) multiple words of text uh-uh n (PASS) multiple words multiple words, yeah y (PASS) (.*)c(.*) abcde y (PASS) \((.*), (.*)\) (a, b) y irregex - (fast): (PASS) abc abc y (PASS) abc xbc n (PASS) abc axc n (PASS) abc abx n (PASS) abc xabcy y (PASS) abc ababc y (PASS) ab*c abc y (PASS) ab*bc abc y (PASS) ab*bc abbc y (PASS) ab*bc abbbbc y (PASS) ab+bc abbc y (PASS) ab+bc abc n (PASS) ab+bc abq n (PASS) ab+bc abbbbc y (PASS) ab?bc abbc y (PASS) ab?bc abc y (PASS) ab?bc abbbbc n (PASS) ab?c abc y (PASS) ^abc$ abc y (PASS) ^abc$ abcc n (PASS) ^abc abcc y (PASS) ^abc$ aabc n (PASS) abc$ aabc y (PASS) ^ abc y (PASS) $ abc y (PASS) a.c abc y (PASS) a.c axc y (PASS) a.*c axyzc y (PASS) a.*c axyzd n (PASS) a[bc]d abc n (PASS) a[bc]d abd y (PASS) a[b-d]e abd n (PASS) a[b-d]e ace y (PASS) a[b-d] aac y (PASS) a[-b] a- y (PASS) a[b-] a- y (PASS) [k] ab n (PASS) a[b-a] - c (PASS) a[]b - c (PASS) a[ - c (PASS) a] a] y (PASS) a[]]b a]b y (PASS) a[^bc]d aed y (PASS) a[^bc]d abd n (PASS) a[^-b]c adc y (PASS) a[^-b]c a-c n (PASS) a[^]b]c a]c n (PASS) a[^]b]c adc y (PASS) ab|cd abc y (PASS) ab|cd abcd y (PASS) ()ef def y (PASS) ()* - c (PASS) *a - c (PASS) ^* - c (PASS) $* - c (PASS) (*)b - c (PASS) $b b n (PASS) a\ - c (PASS) a\(b a(b y (PASS) a\(*b ab y (PASS) a\(*b a((b y (PASS) a\\b a\b y (PASS) abc) - c (PASS) (abc - c (PASS) ((a)) abc y (PASS) (a)b(c) abc y (PASS) a+b+c aabbabc y (PASS) a** - c (PASS) (a*)* - c (PASS) (a*)+ - c (PASS) (a|)* - c (PASS) (a*|b)* - c (PASS) (a+|b)* ab y (PASS) (a+|b)+ ab y (PASS) (a+|b)? ab y (PASS) [^ab]* cde y (PASS) (^)* - c (PASS) (ab|)* - c (PASS) )( - c (PASS) abc y (PASS) abc n (PASS) a* y (PASS) abcd abcd y (PASS) a(bc)d abcd y (PASS) ([abc])*d abbbcd y (PASS) ([abc])*bcd abcd y (PASS) a|b|c|d|e e y (PASS) (a|b|c|d|e)f ef y (PASS) ((a*|b))* - c (PASS) abcd*efg abcdefg y (PASS) ab* xabyabbbz y (PASS) ab* xayabbbz y (PASS) (ab|cd)e abcde y (PASS) [abhgefdc]ij hij y (PASS) ^(ab|cd)e abcde n (PASS) (abc|)ef abcdef y (PASS) (a|b)c*d abcd y (PASS) (ab|ab*)bc abc y (PASS) a([bc]*)c* abc y (PASS) a([bc]*)(c*d) abcd y (PASS) a([bc]+)(c*d) abcd y (PASS) a([bc]*)(c+d) abcd y (PASS) a[bcd]*dcdcde adcdcde y (PASS) a[bcd]+dcdcde adcdcde n (PASS) (ab|a)b*c abc y (PASS) ((a)(b)c)(d) abcd y (PASS) [ -~]* abc y (PASS) [ -~ -~]* abc y (PASS) [ -~ -~ -~]* abc y (PASS) [ -~ -~ -~ -~]* abc y (PASS) [ -~ -~ -~ -~ -~]* abc y (PASS) [ -~ -~ -~ -~ -~ -~]* abc y (PASS) [ -~ -~ -~ -~ -~ -~ -~]* abc y (PASS) [a-zA-Z_][a-zA-Z0-9_]* alpha y (PASS) ^a(bc+|b[eh])g|.h$ abh y (PASS) (bc+d$|ef*g.|h?i(j|k)) effgz y (PASS) (bc+d$|ef*g.|h?i(j|k)) ij y (PASS) (bc+d$|ef*g.|h?i(j|k)) effg n (PASS) (bc+d$|ef*g.|h?i(j|k)) bcdd n (PASS) (bc+d$|ef*g.|h?i(j|k)) reffgz y (PASS) (((((((((a))))))))) a y (PASS) multiple words of text uh-uh n (PASS) multiple words multiple words, yeah y (PASS) (.*)c(.*) abcde y (PASS) \((.*), (.*)\) (a, b) y regex: (PASS) abc abc y (PASS) abc xbc n (PASS) abc axc n (PASS) abc abx n (PASS) abc xabcy y (PASS) abc ababc y (PASS) ab*c abc y (PASS) ab*bc abc y (PASS) ab*bc abbc y (PASS) ab*bc abbbbc y (PASS) ab+bc abbc y (PASS) ab+bc abc n (PASS) ab+bc abq n (PASS) ab+bc abbbbc y (PASS) ab?bc abbc y (PASS) ab?bc abc y (PASS) ab?bc abbbbc n (PASS) ab?c abc y (PASS) ^abc$ abc y (PASS) ^abc$ abcc n (PASS) ^abc abcc y (PASS) ^abc$ aabc n (PASS) abc$ aabc y (PASS) ^ abc y (PASS) $ abc y (PASS) a.c abc y (PASS) a.c axc y (PASS) a.*c axyzc y (PASS) a.*c axyzd n (PASS) a[bc]d abc n (PASS) a[bc]d abd y (PASS) a[b-d]e abd n (PASS) a[b-d]e ace y (PASS) a[b-d] aac y (PASS) a[-b] a- y (PASS) a[b-] a- y (PASS) [k] ab n (PASS) a[b-a] - c (PASS) a[]b - c (PASS) a[ - c (PASS) a] a] y (PASS) a[]]b a]b y (PASS) a[^bc]d aed y (PASS) a[^bc]d abd n (PASS) a[^-b]c adc y (PASS) a[^-b]c a-c n (PASS) a[^]b]c a]c n (PASS) a[^]b]c adc y (PASS) ab|cd abc y (PASS) ab|cd abcd y (PASS) ()ef def y (PASS) ()* - c (PASS) *a - c (PASS) ^* - c (PASS) $* - c (PASS) (*)b - c (PASS) $b b n (PASS) a\ - c (PASS) a\(b a(b y (PASS) a\(*b ab y (PASS) a\(*b a((b y (PASS) a\\b a\b y (PASS) abc) - c (PASS) (abc - c (PASS) ((a)) abc y (PASS) (a)b(c) abc y (PASS) a+b+c aabbabc y (PASS) a** - c (PASS) (a*)* - c (PASS) (a*)+ - c (PASS) (a|)* - c (PASS) (a*|b)* - c (PASS) (a+|b)* ab y (PASS) (a+|b)+ ab y (PASS) (a+|b)? ab y (PASS) [^ab]* cde y (PASS) (^)* - c (PASS) (ab|)* - c (PASS) )( - c (PASS) abc y (PASS) abc n (PASS) a* y (PASS) abcd abcd y (PASS) a(bc)d abcd y (PASS) ([abc])*d abbbcd y (PASS) ([abc])*bcd abcd y (PASS) a|b|c|d|e e y (PASS) (a|b|c|d|e)f ef y (PASS) ((a*|b))* - c (PASS) abcd*efg abcdefg y (PASS) ab* xabyabbbz y (PASS) ab* xayabbbz y (PASS) (ab|cd)e abcde y (PASS) [abhgefdc]ij hij y (PASS) ^(ab|cd)e abcde n (PASS) (abc|)ef abcdef y (PASS) (a|b)c*d abcd y (PASS) (ab|ab*)bc abc y (PASS) a([bc]*)c* abc y (PASS) a([bc]*)(c*d) abcd y (PASS) a([bc]+)(c*d) abcd y (PASS) a([bc]*)(c+d) abcd y (PASS) a[bcd]*dcdcde adcdcde y (PASS) a[bcd]+dcdcde adcdcde n (PASS) (ab|a)b*c abc y (PASS) ((a)(b)c)(d) abcd y (PASS) [ -~]* abc y (PASS) [ -~ -~]* abc y (PASS) [ -~ -~ -~]* abc y (PASS) [ -~ -~ -~ -~]* abc y (PASS) [ -~ -~ -~ -~ -~]* abc y (PASS) [ -~ -~ -~ -~ -~ -~]* abc y (PASS) [ -~ -~ -~ -~ -~ -~ -~]* abc y (PASS) [a-zA-Z_][a-zA-Z0-9_]* alpha y (PASS) ^a(bc+|b[eh])g|.h$ abh y (PASS) (bc+d$|ef*g.|h?i(j|k)) effgz y (PASS) (bc+d$|ef*g.|h?i(j|k)) ij y (PASS) (bc+d$|ef*g.|h?i(j|k)) effg n (PASS) (bc+d$|ef*g.|h?i(j|k)) bcdd n (PASS) (bc+d$|ef*g.|h?i(j|k)) reffgz y (PASS) (((((((((a))))))))) a y (PASS) multiple words of text uh-uh n (PASS) multiple words multiple words, yeah y (PASS) (.*)c(.*) abcde y (PASS) \((.*), (.*)\) (a, b) y utils: (PASS) replace (PASS) replace/all 377 tests completed in 0.109 seconds 377 (100.00%) tests passed 0 (0.00%) tests failed ======================================== r4rstest ... ======================================== compiler/nursery stress test ... 100000 120000 200000 250000 300000 350000 400000 450000 500000 ======================================== finalizer tests ... ======================================== finalizer tests (2) ... ../chicken test-finalizers-2.scm -output-file a.c -include-path .. gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -I.. -I/usr/local/include rm a.c gcc a.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm a.o creating gc roots forcing finalizers dropping data forcing finalizables 500 releasing non-finalizable gc roots forcing remaining ======================================== locative stress test ... ../chicken locative-stress-test.scm -output-file a.c -include-path .. gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -I.. -I/usr/local/include rm a.c gcc a.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm a.o ======================================== embedding (1) ... gcc embedded1.c -o embedded1.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -I.. -I/usr/local/include gcc embedded1.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm embedded1.o ======================================== embedding (2) ... ../chicken embedded2.scm -output-file a.c -include-path .. gcc a.c -o a.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -DC_EMBEDDED -I.. -I/usr/local/include rm a.c gcc a.o -o a.out -L.. -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() rm a.o starting... #(ok ok ok ok ok ok ok ok ok ok) --> 10 ======================================== benchmarks ... 0.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0 seconds elapsed 0 seconds in (major) GC 0 mutations 0 minor GCs 0 major GCs binarytrees.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() stretch tree of depth 11 check: -1 2048 trees of depth 4 check: -2048 512 trees of depth 6 check: -512 128 trees of depth 8 check: -128 32 trees of depth 10 check: -32 long lived tree of depth 10 check: -1 0.09 seconds elapsed 0.04 seconds in (major) GC 0 mutations 4 minor GCs 56 major GCs boyer.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.09 seconds elapsed 0.04 seconds in (major) GC 48272 mutations 12 minor GCs 20 major GCs browse.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.09 seconds elapsed 0.01 seconds in (major) GC 62395 mutations 13 minor GCs 16 major GCs conform.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.08 seconds elapsed 0.03 seconds in (major) GC 59666 mutations 140 minor GCs 22 major GCs cpstak.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.28 seconds elapsed 0.01 seconds in (major) GC 0 mutations 115 minor GCs 42 major GCs ctak.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.14 seconds elapsed 0.01 seconds in (major) GC 0 mutations 54 minor GCs 32 major GCs dderiv.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.1 seconds elapsed 0.01 seconds in (major) GC 0 mutations 71 minor GCs 19 major GCs deriv.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.08 seconds elapsed 0 seconds in (major) GC 0 mutations 30 minor GCs 15 major GCs destructive.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.06 seconds elapsed 0 seconds in (major) GC 0 mutations 92 minor GCs 8 major GCs div-iter.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.02 seconds elapsed 0 seconds in (major) GC 0 mutations 53 minor GCs 2 major GCs div-rec.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.06 seconds elapsed 0.01 seconds in (major) GC 0 mutations 24 minor GCs 24 major GCs dynamic.scm Warning: local assignment to unused variable `tag-ops' may be unintended Warning: local assignment to unused variable `no-ops' may be unintended ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.12 seconds elapsed 0.03 seconds in (major) GC 57216 mutations 22 minor GCs 13 major GCs earley.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.04 seconds elapsed 0 seconds in (major) GC 150 mutations 32 minor GCs 11 major GCs fft.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.06 seconds elapsed 0.04 seconds in (major) GC 337760 mutations 1 minor GCs 83 major GCs fib.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 832040 0.13 seconds elapsed 0 seconds in (major) GC 0 mutations 125 minor GCs 10 major GCs fibc.scm Warning: redefinition of extended binding `add1' Warning: redefinition of extended binding `sub1' ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.91 seconds elapsed 0.09 seconds in (major) GC 0 mutations 313 minor GCs 167 major GCs fprint.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.13 seconds elapsed 0 seconds in (major) GC 3 mutations 2219 minor GCs 0 major GCs fread.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.75 seconds elapsed 0.3 seconds in (major) GC 218474 mutations 750 minor GCs 61 major GCs hanoi.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.33 seconds elapsed 0.01 seconds in (major) GC 0 mutations 103 minor GCs 33 major GCs lattice.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 5.3 seconds elapsed 0.56 seconds in (major) GC 1213264 mutations 47 minor GCs 1365 major GCs maze.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.12 seconds elapsed 0.01 seconds in (major) GC 275600 mutations 48 minor GCs 62 major GCs nbody.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() -0.169075164 -0.169079859 1.81 seconds elapsed 0.17 seconds in (major) GC 7500003 mutations 55 minor GCs 364 major GCs nqueens.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.03 seconds elapsed 0 seconds in (major) GC 0 mutations 16 minor GCs 8 major GCs puzzle.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() Success in 2005 trials. 0.06 seconds elapsed 0 seconds in (major) GC 0 mutations 7 minor GCs 30 major GCs scheme.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.02 seconds elapsed 0.01 seconds in (major) GC 500 mutations 13 minor GCs 7 major GCs tak.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.29 seconds elapsed 0.02 seconds in (major) GC 0 mutations 131 minor GCs 34 major GCs takl.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.15 seconds elapsed 0.01 seconds in (major) GC 0 mutations 88 minor GCs 8 major GCs takr.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.36 seconds elapsed 0.03 seconds in (major) GC 0 mutations 72 minor GCs 38 major GCs traverse.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.16 seconds elapsed 0 seconds in (major) GC 0 mutations 444 minor GCs 1 major GCs travinit.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.05 seconds elapsed 0.01 seconds in (major) GC 73688 mutations 19 minor GCs 6 major GCs triangl.scm ../libchicken.so: warning: strcpy() is almost always misused, please use strlcpy() ../libchicken.so: warning: sprintf() is often misused, please use snprintf() ../libchicken.so: warning: strcat() is almost always misused, please use strlcat() 0.64 seconds elapsed 0.06 seconds in (major) GC 775 mutations 83 minor GCs 103 major GCs ======================================== done.