From 43f6b3404da004274385fab5591188fa9af58f22 Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau <fare@tunes.org> Date: Thu, 30 Aug 2012 00:56:03 -0400 Subject: [PATCH] Note about nest. --- base/macros.lisp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/base/macros.lisp b/base/macros.lisp index b95e348..35ef1c8 100644 --- a/base/macros.lisp +++ b/base/macros.lisp @@ -536,6 +536,15 @@ shall be declared with a serial dependency in system definitions. (defmacro nest (&rest things) (reduce #'(lambda (outer inner) (append outer (list inner))) things :from-end t)) +#| Note: in Scheme, you could do +(define-syntax nest + (syntax-rules () + ((nest x) x) + ((nest (x ...) y z ...) (x ... (nest y z ...))))) +or in Racket, directly use the related but different form nest from scheme/nest: +http://docs.racket-lang.org/scheme/nest.html?q=nest#(form._((lib._scheme/nest..rkt)._nest)) +(racket:nest (x ...) . body) ==> (my:nest x ... body) +|# (defmacro tsen (&rest things) (reduce #'(lambda (inner outer) (append outer (list inner))) -- GitLab