From c9c12e0e396475533ef987e3969b2ec847a8af9f Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 27 Jul 2021 15:27:25 +0530 Subject: ccwl: Make syntax-lambda** more like lambda**. I have tripped up several times on the differences between lambda** and syntax-lambda**. No longer! Making syntax-lambda** as close as possible to lambda** makes the code much more readable and align better with common sense. * ccwl/utils.scm (syntax-lambda**): Do not ignore the first identifier. Accept multiple values as arguments, not a single syntax object. * ccwl/ccwl.scm (command): Update use of syntax-lambda**. * tests/utils.scm ("syntax-lambda**", "syntax-lambda** with default values"): Update tests. --- tests/utils.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'tests/utils.scm') diff --git a/tests/utils.scm b/tests/utils.scm index bc9315d..be0e87f 100644 --- a/tests/utils.scm +++ b/tests/utils.scm @@ -84,13 +84,16 @@ (equal? (list #'1 #'2 #'123 (list #'1 #'2 #'3)) ((syntax-lambda** (a b #:key foo #:key* bar) (list a b foo bar)) - #'(foo 1 2 #:foo 123 #:bar 1 2 3)))) + #'1 #'2 #'#:foo #'123 #'#:bar #'1 #'2 #'3))) +((syntax-lambda** (a b #:key foo #:key* bar) + (list a b foo bar)) + #'1 #'2 #'#:foo #'123 #'#:bar #'1 #'2 #'3) (test-assert "syntax-lambda** with default values" (equal? (list #'1 #'2 #'123 9 #'(321 456) '(7) '(3 2 1)) ((syntax-lambda** (foo aal #:key vale (pal 9) #:key* naal (irandu 7) (sol 3 2 1)) (list foo aal vale pal naal irandu sol)) - #'(bar 1 2 #:vale 123 #:naal 321 456)))) + #'1 #'2 #'#:vale #'123 #'#:naal #'321 #'456))) (test-equal "filter-mapi" '(1 3 5 7 9) -- cgit v1.2.3