From 55a9ceb549911e598be213bdb755272e0f9c4a5c Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Tue, 23 Aug 2022 19:24:26 -0700 Subject: 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. --- lib/csc/ir1.csc | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'lib/csc/ir1.csc') 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 @@ ; 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 - (make-lambda arguments rest body) + (make-lambda arguments body) lambda? %lambda (arguments lambda-arguments) - (rest lambda-rest) (body lambda-body)) -- cgit v1.3.1