Plínio Balduino <pbaldu...@gmail.com> writes: Hi Plínio,
> Clojure.org says fn and let are special forms, but using the macro > sourceshows that both are macros calling fn* and let* respectivelly. > > So fn and let are "special special forms", or clojure.org is > incorrect/outdated? Well, they are correct from a user's point of view. One never uses the real special forms fn* and let*. > If fn and let are really special forms and not macros, could you > explain why? fn and let (and also loop) are macros around the real special forms fn* and let* (and loop*) that add support for destructuring. For example, (let [[a b] [1 2]] (+ a b)) expands to (let* [vec__8592 [1 2] a (clojure.core/nth vec__8592 0 nil) b (clojure.core/nth vec__8592 1 nil)] (+ a b)) where the destructuring has been transformed to "normal" code already. Bye, Tassilo -- 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 Note that posts from new members are moderated - please be patient with your first post. 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.