X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?a=blobdiff_plain;f=src%2Fscheme-derived-forms.scm;fp=src%2Fscheme-derived-forms.scm;h=1edd186be44af1bd055e475c44679b29ba00dd9d;hb=3f10b9976a9b02716a433666d972e30c6b81fd92;hp=0000000000000000000000000000000000000000;hpb=02868ff84afc9b2fb4fafa7247d09ee2a1e98f59;p=scheme.forth.jl.git diff --git a/src/scheme-derived-forms.scm b/src/scheme-derived-forms.scm new file mode 100644 index 0000000..1edd186 --- /dev/null +++ b/src/scheme-derived-forms.scm @@ -0,0 +1,9 @@ +;; define (procedural syntax) + +; Due to recursive macro expansion, this definition also allows +; for curried function definitions. + +(define-macro (define args . body) + (if (pair? args) + `(define ,(car args) (lambda ,(cdr args) ,@body)) + 'no-match))