Added some tests.

Fixed some things I noticed when testing the tests.
This commit is contained in:
Linus 2021-03-22 19:29:16 +01:00
parent 524933d29f
commit 3908019bbc
4 changed files with 235 additions and 33 deletions

View file

@ -256,7 +256,7 @@
(((ff-cur ... new-for-finals ...) (ff-above ...)) . ff-rest)
ul uw ub uf clauses . body))
((cl err ...)
'(cl err ...))))
(cl err ...))))
(define-syntax user-let
(syntax-rules (:let :let*)
@ -474,7 +474,7 @@
((_ o n (s ...) ((:when expr) clauses ...) . body)
(forify* o n (s ... (:when expr)) (clauses ...) . body))
((_ o n (s ...) ((:unless expr) clauses ...) . body)
(forify* o n (s ... (:when expr)) (clauses ...) . body))
(forify* o n (s ... (:unless expr)) (clauses ...) . body))
((_ o n (s ...) ((:break expr) clauses ...) . body)
(forify* o n (s ... (:break expr)) (clauses ...) . body))
((_ o n (s ...) ((:final expr) clauses ...) . body)
@ -534,10 +534,10 @@
(syntax-rules ()
((n (clauses ...) body ...)
(forify (n (clauses ...) body ...)
loop-name (clauses ... (%acc acc (folding sentinel)))
=> (if (eq? sentinel acc) #f acc)
(let ((result (let () body ...)))
(loop-name (=> acc result)))))))
loop-name () (clauses ... (%acc acc (folding sentinel)))
=> (if (eq? sentinel acc) #f acc)
(let ((result (let () body ...)))
(loop-name (=> acc result)))))))
(define-syntax loop/and
(syntax-rules ()