I agree user code probably shouldn't rely on the details of what's a special form and what isn't. However, I see no problem with using destructure in user code, I've done so myself, and I don't think it's necessarily platform-specific.
It's more obvious the intent when things are intentionally marked 'private'. Seems like anything else is fair-game, with java bits being a clear delineation of host-specific functionality. On Fri, Oct 4, 2013 at 4:20 PM, John D. Hume <duelin.mark...@gmail.com>wrote: > This seems intentional, not a case of docs lagging behind. If you look at > the source of let you can see that it has :special-form true in its > metadata so that it will remain documented as special even though it's just > a macro. > > I assume the thinking is that it's more useful to continue to document > let, loop, and maybe others as special forms than to tell you they're > macros that expand into uglier calls to special forms, and then go on to > document (and support the APIs of) clojure.core/destructure and the less > sugary, true special forms (let*, loop*, and maybe others). > > It's probably safe to assume these are implementation details that won't > necessarily hold in other dialects of Clojure and that breaking changes in > that layer might be introduced in a future version of Clojure and would not > be considered a backwards-incompatible change by the maintainers. > > > > On Fri, Oct 4, 2013 at 2:47 PM, Amrut <amrut.jo...@gmail.com> wrote: > >> Thanks. I went through the checkins and looks like it was changed >> here.<https://github.com/clojure/clojure/commit/3129be6d80d315e3be2f77dadcf7e904fc6015f5> >> This >> was 6 years back. Maybe it's time to update the documentation for special >> forms. >> >> >> On Friday, October 4, 2013 11:41:22 AM UTC-7, Gary Trakhman wrote: >> >>> The definitive authority on what is a special form and what isn't is >>> Compiler.java: >>> >>> https://github.com/clojure/**clojure/blob/master/src/jvm/** >>> clojure/lang/Compiler.java#L39<https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Compiler.java#L39> >>> >>> >>> On Fri, Oct 4, 2013 at 2:27 PM, Amrut <amrut...@gmail.com> wrote: >>> >>>> Hello, >>>> >>>> According to this <http://clojure.org/special_forms>, "let" is a >>>> special form. but the >>>> source<http://clojuredocs.org/clojure_core/clojure.core/let> tells >>>> me that it's a macro that uses let*. I could not find any info on let* >>>> form. >>>> Can someone please explain what is happening here? >>>> >>>> TIA >>>> >>>> -- >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Clojure" group. >>>> To post to this group, send email to clo...@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+u...@**googlegroups.com >>>> >>>> For more options, visit this group at >>>> http://groups.google.com/**group/clojure?hl=en<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+u...@**googlegroups.com. >>>> >>>> For more options, visit >>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out> >>>> . >>>> >>> >>> -- >> -- >> 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. >> > > > > -- > http://elhumidor.blogspot.com/ > > -- > -- > 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. > -- -- 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.