aboutsummaryrefslogtreecommitdiffstats
path: root/lib/csc/ir1.csc
diff options
context:
space:
mode:
authorRose Hogenson <rhogenson@posteo.net>2022-08-23 19:24:26 -0700
committerRose Hogenson <rhogenson@posteo.net>2022-08-23 19:24:26 -0700
commit55a9ceb549911e598be213bdb755272e0f9c4a5c (patch)
treeb84c36f2449203f9d560cb09702af3393b82e652 /lib/csc/ir1.csc
parentInsert references, not values into the map. (diff)
downloadchromatopelma-55a9ceb549911e598be213bdb755272e0f9c4a5c.tar.zst
Change argument passing to use lists.
Using vectors is just horribly complicated combined with builtins like apply, or procedures that take a rest parameter. Now we pass all arguments in a list. Hopefully optimization can undo this for known functions in the future.
Diffstat (limited to 'lib/csc/ir1.csc')
-rw-r--r--lib/csc/ir1.csc7
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/csc/ir1.csc b/lib/csc/ir1.csc
index 5cc0bf0..c88123e 100644
--- a/lib/csc/ir1.csc
+++ b/lib/csc/ir1.csc
@@ -29,7 +29,6 @@
if?
lambda-arguments
lambda-body
- lambda-rest
lambda?
letrec-expression
letrec-gensyms
@@ -192,14 +191,12 @@
; <lambda> body
- ; A closure. Arguments is a list of lexical-refs.
- ; Rest is a lexical ref or #f if the lambda doesn't take a rest parameter.
+ ; A closure. Arguments is a lexical-ref.
(define-match-record-type <lambda>
- (make-lambda arguments rest body)
+ (make-lambda arguments body)
lambda?
%lambda
(arguments lambda-arguments)
- (rest lambda-rest)
(body lambda-body))