Add iterate and macro-expand

This commit is contained in:
2024-11-21 23:13:27 -06:00
parent 7ba64111ba
commit e6209fa8a4
2 changed files with 33 additions and 1 deletions

View File

@@ -18,6 +18,14 @@
(define value (~>> 1 (/ 2) (/ 2)))
(assert-equal 1 value)))
(define-test-suite "as~>"
(define-test "switch sides"
(define value (as~> % 'apples (cons % '()) (cons 'pears %)))
(assert-equal '(pears apples) value))
(define-test "middle argument"
(define value (as~> % '((apples . pears)) (assoc 'apples % equal?)))
(assert-equal '(apples . pears) value)))
(define-test-suite "if-not"
(define-test "test"
(assert-equal 'a (if-not #f 'a 'b))))
@@ -51,6 +59,11 @@
(define-test "test"
(assert-equal '(b . 2) (argmin cdr < '(a . 5) '(b . 2) '(c . 3)))))
(define-test-suite "iterate"
(define-test "test"
(define value (iterate 2 1+ 3))
(assert-equal 5 value)))
(define-test-suite "generator"
(define-test "test"
(define number-generator