> It's unclear (to me at least) what letfn offers you over regular let, > since functions are just values anyway:
let has sequential binding; letfn makes the names of each function available in all of them. This allows for mutual recursion, amongst other things. (Presumably there are some compiler tricks available in the future, too -- the compiler knows about arglists, return types, that these are functions, etc. etc.) http://clojure.org/api#toc332 letfn is equivalent to Common Lisp's LABELS. Binding function objects to names in let is equivalent to nested FLETs. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---