Recently Written · git

forthlisp

Scheme on a from-scratch Forth on from-scratch machine code: core (host Lisp, Scheme in Forth, R7RS harness)

git clone https://github.com/equwal/forthlisp

Log | Files | Refs


tests/r7rs/results.txt (13779 bytes)

1 r7rs suite: 617 passed, 126 failed, 389 skipped, 1132 total
2 setup forms skipped: 14
3 
4 skipped tests by reason:
5     12  no bignums: fixnums are 31-bit, beyond that is an overflow error
6      0  no number->string
7      9  uses f, skipped: no number->string
8     25  no complex numbers
9     11  no #e #i #x #b #o #d number prefixes
10      6  no string->number
11     36  no Unicode: characters and strings are bytes; the serial link is Latin-1
12      1  uses compose, skipped: uses f, skipped: no number->string
13      3  no eval / environments
14     63  no ports beyond the console
15     73  no read procedure or ports
16      4  uses read2, skipped: no read procedure or ports
17     20  no ports: write to string
18    102  no string->number / number->string
19     11  no inexact reals
20     13  no system interface
21 
22 failures:
23 [4.2 Derived expression types] (let*-values (((a b c) (means '(8 5 99 1 22)))) (test 27 a) (test 9.728 b) (test 1800/497 c))
24     => unbound variable: exp
25 [4.2 Derived expression types] (let*-values (((root rem) (exact-integer-sqrt (expt 2 140)))) (test 0 rem) (test (expt 2 140) (square root)))
26     => unbound variable: expt
27 [4.3 Macros] (test 'now (let-syntax ((when (syntax-rules () ((when test stmt1 stmt2 ...) (if test (begin stmt1 stmt2 ...)))))) (let ((if #t)) (when if (set! if 'now)) if)))
28     => not a procedure
29 [4.3 Macros] (test 'outer (let ((x 'outer)) (let-syntax ((m (syntax-rules () ((m) x)))) (let ((x 'inner)) (m)))))
30     => <<fail inner>>
31 [4.3 Macros] (test 7 (letrec-syntax ((my-or (syntax-rules () ((my-or) #f) ((my-or e) e) ((my-or e1 e2 ...) (let ((temp e1)) (if temp temp (my-or e2 ...))))))) (let ((x #f) (
32     => not a procedure
33 [4.3 Macros] (test '(100 ...) (elli-esc-1 100))
34     => <<fail (x ...)>>
35 [4.3 Macros] (test '(... 100 200) (elli-esc-1 100 200))
36     => <<fail (... x y)>>
37 [4.3 Macros] (test 'ok (let ((=> #f)) (cond (#t => 'ok))))
38     => not a procedure
39 [4.3 Macros] (let () (define-syntax foo (syntax-rules () ((foo bar y) (define-syntax bar (syntax-rules () ((bar x) 'y)))))) (foo bar x) (test 'x (bar 1)))
40     => <<fail 1>>
41 [4.3 Macros] (let-syntax ((m (syntax-rules () ((m x) (let-syntax ((n (syntax-rules (k) ((n x) 'bound-identifier=?) ((n y) 'free-identifier=?)))) (n z)))))) (test 'bound-iden
42     => <<fail free-identifier=?>>
43 [4.3 Macros] (let () (define-syntax elli-lit-1 (syntax-rules ... (...) ((_ x) '(x ...)))) (test '(100 ...) (elli-lit-1 100)))
44     => <<fail ()>>
45 [5 Program structure] (test 3 (let () (define-values x (values 1 2)) (apply + x)))
46     => too many arguments
47 [5 Program structure] (test 10 (let () (define-values (x y . z) (values 1 2 3 4)) (+ x y (car z) (cadr z))))
48     => too many arguments
49 [6.2 Numbers] (test #t (rational? 1.7976931348623157e308))
50     => <<fail #f>>
51 [6.2 Numbers] (let ((a (- (expt 2 1000) 1)) (b (inexact (expt 2 1000))) (c (+ (expt 2 1000) 1))) (test #t (if (and (= a b) (= b c)) (= a c) #t)))
52     => unbound variable: expt
53 [6.2 Numbers] (let* ((a (/ 10.0 single-float-epsilon)) (j (exact a))) (test #t (if (and (<= a j) (< j (+ j 1))) (not (<= (+ j 1) a)) #t)))
54     => overflow
55 [6.2 Numbers] (test-values (values 2.0 -1.0) (truncate/ -5.0 -2))
56     => not a number
57 [6.2 Numbers] (test -1.0 (remainder -13 -4.0))
58     => not a number
59 [6.2 Numbers] (test 288.0 (lcm 32.0 -36))
60     => not a number
61 [6.2 Numbers] (test 1/3 (rationalize (exact .3) 1/10))
62     => unbound variable: rationalize
63 [6.2 Numbers] (test 1.0 (inexact (exp 0)))
64     => unbound variable: exp
65 [6.2 Numbers] (test 20.0855369231877 (exp 3))
66     => unbound variable: exp
67 [6.2 Numbers] (test 0.0 (inexact (log 1)))
68     => unbound variable: log
69 [6.2 Numbers] (test 1.0 (log (exp 1)))
70     => unbound variable: log
71 [6.2 Numbers] (test 42.0 (log (exp 42)))
72     => unbound variable: log
73 [6.2 Numbers] (test 2.0 (log 100 10))
74     => unbound variable: log
75 [6.2 Numbers] (test 12.0 (log 4096 2))
76     => unbound variable: log
77 [6.2 Numbers] (test 0.0 (inexact (sin 0)))
78     => unbound variable: sin
79 [6.2 Numbers] (test 1.0 (sin 1.5707963267949))
80     => unbound variable: sin
81 [6.2 Numbers] (test 1.0 (inexact (cos 0)))
82     => unbound variable: cos
83 [6.2 Numbers] (test -1.0 (cos 3.14159265358979))
84     => unbound variable: cos
85 [6.2 Numbers] (test 0.0 (inexact (tan 0)))
86     => unbound variable: tan
87 [6.2 Numbers] (test 1.5574077246549 (tan 1))
88     => unbound variable: tan
89 [6.2 Numbers] (test 0.0 (inexact (asin 0)))
90     => unbound variable: asin
91 [6.2 Numbers] (test 1.5707963267949 (asin 1))
92     => unbound variable: asin
93 [6.2 Numbers] (test 0.0 (inexact (acos 1)))
94     => unbound variable: acos
95 [6.2 Numbers] (test 3.14159265358979 (acos -1))
96     => unbound variable: acos
97 [6.2 Numbers] (test 0.0 (atan 0.0 1.0))
98     => unbound variable: atan
99 [6.2 Numbers] (test -0.0 (atan -0.0 1.0))
100     => unbound variable: atan
101 [6.2 Numbers] (test 0.785398163397448 (atan 1.0 1.0))
102     => unbound variable: atan
103 [6.2 Numbers] (test 1.5707963267949 (atan 1.0 0.0))
104     => unbound variable: atan
105 [6.2 Numbers] (test 2.35619449019234 (atan 1.0 -1.0))
106     => unbound variable: atan
107 [6.2 Numbers] (test 3.14159265358979 (atan 0.0 -1.0))
108     => unbound variable: atan
109 [6.2 Numbers] (test -3.14159265358979 (atan -0.0 -1.0))
110     => unbound variable: atan
111 [6.2 Numbers] (test -2.35619449019234 (atan -1.0 -1.0))
112     => unbound variable: atan
113 [6.2 Numbers] (test -1.5707963267949 (atan -1.0 0.0))
114     => unbound variable: atan
115 [6.2 Numbers] (test -0.785398163397448 (atan -1.0 1.0))
116     => unbound variable: atan
117 [6.2 Numbers] (test 27 (expt 3 3))
118     => unbound variable: expt
119 [6.2 Numbers] (test 1 (expt 0 0))
120     => unbound variable: expt
121 [6.2 Numbers] (test 0 (expt 0 1))
122     => unbound variable: expt
123 [6.2 Numbers] (test 1.0 (expt 0.0 0))
124     => unbound variable: expt
125 [6.2 Numbers] (test 0.0 (expt 0 1.0))
126     => unbound variable: expt
127 [6.2 Numbers] (test 1/1024 (expt 2 -10))
128     => unbound variable: expt
129 [6.2 Numbers] (test 1/1180591620717411303424 (expt 2 -70))
130     => unbound variable: 1/1180591620717411303424
131 [6.3 Booleans] (test #t (boolean=? #f #f #f))
132     => too many arguments
133 [6.3 Booleans] (test #f (boolean=? #t #t #f))
134     => too many arguments
135 [6.4 Lists] (test '(0 ("Sue" "Sue") "Anna") (let ((lst (list 0 '(2 2 2 2) "Anna"))) (list-set! lst 1 '("Sue" "Sue")) lst))
136     => unbound variable: list-set!
137 [6.4 Lists] (test '("b" "c") (member "B" '("a" "b" "c") string-ci=?))
138     => unbound variable: string-ci=?
139 [6.4 Lists] (test '(2 4) (assoc 2.0 '((1 1) (2 4) (3 9)) =))
140     => too many arguments
141 [6.5 Symbols] (test #t (symbol=? 'a 'a 'a))
142     => too many arguments
143 [6.5 Symbols] (test #f (symbol=? 'a 'a 'A))
144     => too many arguments
145 [6.6 Characters] (test #t (char-numeric? #\x0E50))
146     => <<fail #f>>
147 [6.6 Characters] (test #t (char-whitespace? #\x1680))
148     => <<fail #f>>
149 [6.6 Characters] (test 4 (digit-value #\x0664))
150     => <<fail #f>>
151 [6.6 Characters] (test 0 (digit-value #\x0AE6))
152     => <<fail #f>>
153 [6.7 Strings] (test #t (string-ci=? "" ""))
154     => unbound variable: string-ci=?
155 [6.7 Strings] (test #t (string-ci=? "abc" "abc"))
156     => unbound variable: string-ci=?
157 [6.7 Strings] (test #f (string-ci=? "" "abc"))
158     => unbound variable: string-ci=?
159 [6.7 Strings] (test #t (string-ci=? "abc" "aBc"))
160     => unbound variable: string-ci=?
161 [6.7 Strings] (test #f (string-ci=? "abc" "aBcD"))
162     => unbound variable: string-ci=?
163 [6.7 Strings] (test #f (string-ci<? "abc" "aBc"))
164     => unbound variable: string-ci<?
165 [6.7 Strings] (test #t (string-ci<? "abc" "aBcD"))
166     => unbound variable: string-ci<?
167 [6.7 Strings] (test #f (string-ci<? "ABCd" "aBc"))
168     => unbound variable: string-ci<?
169 [6.7 Strings] (test #f (string-ci>? "abc" "aBc"))
170     => unbound variable: string-ci>?
171 [6.7 Strings] (test #f (string-ci>? "abc" "aBcD"))
172     => unbound variable: string-ci>?
173 [6.7 Strings] (test #t (string-ci>? "ABCd" "aBc"))
174     => unbound variable: string-ci>?
175 [6.7 Strings] (test #t (string-ci<=? "abc" "aBc"))
176     => unbound variable: string-ci<=?
177 [6.7 Strings] (test #t (string-ci<=? "abc" "aBcD"))
178     => unbound variable: string-ci<=?
179 [6.7 Strings] (test #f (string-ci<=? "ABCd" "aBc"))
180     => unbound variable: string-ci<=?
181 [6.7 Strings] (test #t (string-ci>=? "abc" "aBc"))
182     => unbound variable: string-ci>=?
183 [6.7 Strings] (test #f (string-ci>=? "abc" "aBcD"))
184     => unbound variable: string-ci>=?
185 [6.7 Strings] (test #t (string-ci>=? "ABCd" "aBc"))
186     => unbound variable: string-ci>=?
187 [6.7 Strings] (test "ABC" (string-upcase "abc"))
188     => unbound variable: string-upcase
189 [6.7 Strings] (test "ABC" (string-upcase "ABC"))
190     => unbound variable: string-upcase
191 [6.7 Strings] (test "abc" (string-downcase "abc"))
192     => unbound variable: string-downcase
193 [6.7 Strings] (test "abc" (string-downcase "ABC"))
194     => unbound variable: string-downcase
195 [6.7 Strings] (test "abc" (string-foldcase "abc"))
196     => unbound variable: string-foldcase
197 [6.7 Strings] (test "abc" (string-foldcase "ABC"))
198     => unbound variable: string-foldcase
199 [6.7 Strings] (test "SSA" (string-upcase "ßa"))
200     => unbound variable: string-upcase
201 [6.7 Strings] (test "ßa" (string-downcase "ßa"))
202     => unbound variable: string-downcase
203 [6.7 Strings] (test "ssa" (string-downcase "SSA"))
204     => unbound variable: string-downcase
205 [6.7 Strings] (test "maß" (string-downcase "Maß"))
206     => unbound variable: string-downcase
207 [6.7 Strings] (test "mass" (string-foldcase "Maß"))
208     => unbound variable: string-foldcase
209 [6.7 Strings] (test "-----" (let ((str (make-string 5 #\x))) (string-fill! str #\-) str))
210     => unbound variable: string-fill!
211 [6.7 Strings] (test "xx---" (let ((str (make-string 5 #\x))) (string-fill! str #\- 2) str))
212     => unbound variable: string-fill!
213 [6.7 Strings] (test "xx-xx" (let ((str (make-string 5 #\x))) (string-fill! str #\- 2 3) str))
214     => unbound variable: string-fill!
215 [6.7 Strings] (test "a12de" (let ((str (string-copy "abcde"))) (string-copy! str 1 "12345" 0 2) str))
216     => unbound variable: string-copy!
217 [6.7 Strings] (test "-----" (let ((str (make-string 5 #\x))) (string-copy! str 0 "-----") str))
218     => unbound variable: string-copy!
219 [6.7 Strings] (test "---xx" (let ((str (make-string 5 #\x))) (string-copy! str 0 "-----" 2) str))
220     => unbound variable: string-copy!
221 [6.7 Strings] (test "xx---" (let ((str (make-string 5 #\x))) (string-copy! str 2 "-----" 0 3) str))
222     => unbound variable: string-copy!
223 [6.7 Strings] (test "xx-xx" (let ((str (make-string 5 #\x))) (string-copy! str 2 "-----" 2 3) str))
224     => unbound variable: string-copy!
225 [6.7 Strings] (test "aabde" (let ((str (string-copy "abcde"))) (string-copy! str 1 str 0 2) str))
226     => unbound variable: string-copy!
227 [6.7 Strings] (test "abcab" (let ((str (string-copy "abcde"))) (string-copy! str 3 str 0 2) str))
228     => unbound variable: string-copy!
229 [6.8 Vectors] (test 13 (vector-ref '#(1 1 2 3 5 8 13 21) (let ((i (round (* 2 (acos -1))))) (if (inexact? i) (exact i) i))))
230     => unbound variable: acos
231 [6.8 Vectors] (test #(1 a b 4 5) (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 1 #(a b c d e) 0 2) vec))
232     => unbound variable: vector-copy!
233 [6.8 Vectors] (test #(a b c d e) (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 0 #(a b c d e)) vec))
234     => unbound variable: vector-copy!
235 [6.8 Vectors] (test #(c d e 4 5) (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 0 #(a b c d e) 2) vec))
236     => unbound variable: vector-copy!
237 [6.8 Vectors] (test #(1 2 a b c) (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 2 #(a b c d e) 0 3) vec))
238     => unbound variable: vector-copy!
239 [6.8 Vectors] (test #(1 2 c 4 5) (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 2 #(a b c d e) 2 3) vec))
240     => unbound variable: vector-copy!
241 [6.8 Vectors] (test #(1 1 2 4 5) (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 1 vec 0 2) vec))
242     => unbound variable: vector-copy!
243 [6.8 Vectors] (test #(1 2 3 1 2) (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 3 vec 0 2) vec))
244     => unbound variable: vector-copy!
245 [6.9 Bytevectors] (test #u8(1 6 7 4 5) (let ((bv (bytevector 1 2 3 4 5))) (bytevector-copy! bv 1 #u8(6 7 8 9 10) 0 2) bv))
246     => unbound variable: bytevector-copy!
247 [6.9 Bytevectors] (test #u8(6 7 8 9 10) (let ((bv (bytevector 1 2 3 4 5))) (bytevector-copy! bv 0 #u8(6 7 8 9 10)) bv))
248     => unbound variable: bytevector-copy!
249 [6.9 Bytevectors] (test #u8(8 9 10 4 5) (let ((bv (bytevector 1 2 3 4 5))) (bytevector-copy! bv 0 #u8(6 7 8 9 10) 2) bv))
250     => unbound variable: bytevector-copy!
251 [6.9 Bytevectors] (test #u8(1 2 6 7 8) (let ((bv (bytevector 1 2 3 4 5))) (bytevector-copy! bv 2 #u8(6 7 8 9 10) 0 3) bv))
252     => unbound variable: bytevector-copy!
253 [6.9 Bytevectors] (test #u8(1 2 8 4 5) (let ((bv (bytevector 1 2 3 4 5))) (bytevector-copy! bv 2 #u8(6 7 8 9 10) 2 3) bv))
254     => unbound variable: bytevector-copy!
255 [6.9 Bytevectors] (test #u8(1 1 2 4 5) (let ((bv (bytevector 1 2 3 4 5))) (bytevector-copy! bv 1 bv 0 2) bv))
256     => unbound variable: bytevector-copy!
257 [6.9 Bytevectors] (test #u8(1 2 3 1 2) (let ((bv (bytevector 1 2 3 4 5))) (bytevector-copy! bv 3 bv 0 2) bv))
258     => unbound variable: bytevector-copy!
259 [6.10 Control Features] (test '(1 4 27 256 3125) (map (lambda (n) (expt n n)) '(1 2 3 4 5)))
260     => unbound variable: expt
261 [6.10 Control Features] (test #(1 4 27 256 3125) (vector-map (lambda (n) (expt n n)) '#(1 2 3 4 5)))
262     => unbound variable: expt
263 [6.10 Control Features] (test '(0 1 4 9 16) (let ((v (make-list 5))) (vector-for-each (lambda (i) (list-set! v i (* i i))) '#(0 1 2 3 4)) v))
264     => unbound variable: list-set!
265 [6.10 Control Features] (test '(connect talk1 disconnect connect talk2 disconnect) (let ((path '()) (c #f)) (let ((add (lambda (s) (set! path (cons s path))))) (dynamic-wind (lambda ()
266     => continuation called outside its extent (escape-only)
267 [6.11 Exceptions] (test 'caught-another-exception (test-exception-handler-2 -1))
268     => handler returned from raise an-error