On Feb 4, 12:01 am, Mark Volkmann <r.mark.volkm...@gmail.com> wrote:
> Are the following statements true? They aren't discussed
> athttp://clojure.org/macros, but I think they are true.
>
> Macros cannot call other macros during their evaluation, but they can
> expand to code that calls macros.
I don't know, but I'll bravely guess that this is false, simply
because I don't see any reason for it to be true.
After all, many things we take for granted are in fact macros (e.g.
"for"). I bet you can use "for" during the execution of a macro.
> Macros cannot use syntactic sugar such as '(items) to create a list
> and instead must use non-sugared forms like (list items).
This is false. Macros use ', `, ~ and ~@ all the time.
This leads me to a question I've always had. Is there a variant of ~@
that can be used outside of macros?
e.g.
(+ @(1 2 3)) ; -> 6
(I realise you can use apply here, but that's not always the case.)
Gavin
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---