aboutsummaryrefslogtreecommitdiffstats
path: root/csc/macros.csc
diff options
context:
space:
mode:
authorRose Hogenson <rhogenson@posteo.net>2022-04-22 19:12:21 -0700
committerRose Hogenson <rhogenson@posteo.net>2022-04-22 19:12:21 -0700
commitdfed0dd11c8a7efb222424002613eb168e02136e (patch)
treec22cda59ae512175b5605c12ed489f46ccae39ab /csc/macros.csc
parentAdd libraries. (diff)
downloadchromatopelma-dfed0dd11c8a7efb222424002613eb168e02136e.tar.zst
Remove the void type.
Why have void? We will just use #f.
Diffstat (limited to 'csc/macros.csc')
-rw-r--r--csc/macros.csc12
1 files changed, 5 insertions, 7 deletions
diff --git a/csc/macros.csc b/csc/macros.csc
index 0b59b84..2c9c755 100644
--- a/csc/macros.csc
+++ b/csc/macros.csc
@@ -40,11 +40,9 @@
make-library-define
make-library-ref
make-sequence
- make-void
sequence-head
sequence-tail
- sequence?
- void?)
+ sequence?)
(only (csc list)
revappend
unzip)
@@ -656,7 +654,7 @@
(define (expand-lambda-body-rest body)
(let loop ((body body)
- (expanded-body (make-void)))
+ (expanded-body (make-constant #f)))
(syntax-case body
('()
expanded-body)
@@ -677,8 +675,8 @@
(syntax-case body
('()
(if (null? names)
- (make-void)
- (make-letrec #t names gensyms expressions (make-void))))
+ (make-constant #f)
+ (make-letrec #t (reverse names) (reverse gensyms) (reverse expressions) (make-constant #f))))
((expr . expr*)
(define expanded-expr (expand-syntax-object expr))
(cond
@@ -697,7 +695,7 @@
(else
(if (null? names)
(expand-lambda-body-rest body)
- (make-letrec #t names gensyms expressions (expand-lambda-body-rest body)))))))))
+ (make-letrec #t (reverse names) (reverse gensyms) (reverse expressions) (expand-lambda-body-rest body)))))))))
(define (case-lambda-helper form)