diff options
| author | Rose Hogenson <rhogenson@google.com> | 2022-07-20 15:39:23 -0700 |
|---|---|---|
| committer | Rose Hogenson <rhogenson@posteo.net> | 2022-07-20 20:08:14 -0700 |
| commit | e615308b928585013461482f879f536527c5acc2 (patch) | |
| tree | dd00eef6713c103f755b98c5ffde1e2ca2d994f7 /csc/ir2.csc | |
| parent | Add builtin operations to IR1. (diff) | |
| download | chromatopelma-e615308b928585013461482f879f536527c5acc2.tar.zst | |
Perform argument conversion.
The point of argument conversion is to validate on each function call
that the right number of arguments were passed, and to ensure that no
function has more than 1 argument. This second condition makes CPS
slightly simpler, and ensures that the arguments will all fit in locals.
We take the strategy of allocating a vector for each function call.
Ideally we would optimize away most of these allocations, but for now I
just want it to work.
Diffstat (limited to 'csc/ir2.csc')
| -rw-r--r-- | csc/ir2.csc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/csc/ir2.csc b/csc/ir2.csc index 7ab2803..331aa4c 100644 --- a/csc/ir2.csc +++ b/csc/ir2.csc @@ -165,12 +165,11 @@ ; does not take a continuation. Instead, the procedure will accept the ; continuation as an argument. (define-match-record-type <closure> - (make-closure name arguments rest body) + (make-closure name arguments body) closure? %closure (name closure-name) (arguments closure-arguments) - (rest closure-rest) (body closure-body)) |
