From 77d27b3495bfa98c5e13707903e4f885e8521ab6 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 25 Dec 2012 08:35:43 +0000 Subject: Support multiple ellipses in macros. Support lambda expressions with empty argument lists. git-svn-id: http://svn.drobilla.net/resp/trunk@445 ad02d1e2-f140-0410-9f75-f8b11f17cedd --- test/let.scm | 16 ++++++++++------ test/noargs.scm | 2 ++ 2 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 test/noargs.scm (limited to 'test') diff --git a/test/let.scm b/test/let.scm index 67858b6..3fb57a7 100644 --- a/test/let.scm +++ b/test/let.scm @@ -1,7 +1,11 @@ -(define one 1) +(define-syntax let + (syntax-rules () + ((let ((name val) ...) body1 ...) + ((lambda (name ...) body1 ...) + val ...)))) -(let (two (+ one 1) - three (+ one 2)) - (+ two three)) - - \ No newline at end of file +(define inc + (let ((dy 1)) + (lambda (y) (+ y dy)))) + +(inc 41) diff --git a/test/noargs.scm b/test/noargs.scm new file mode 100644 index 0000000..9139c2a --- /dev/null +++ b/test/noargs.scm @@ -0,0 +1,2 @@ +((lambda () + (* 2 3))) \ No newline at end of file -- cgit v1.2.1