On Sun, Oct 23, 2011 at 1:04 PM, Ben Smith-Mannschott <bsmith.o...@gmail.com> wrote: > On Sun, Oct 23, 2011 at 21:25, Meikel Brandmeyer <m...@kotka.de> wrote: >> The idiomatic solution is #(f % a1 a2 a3). I'm failing to see the issue with >> “nice” and “expressive”, but that is most likely just me. > I find myself reaching for partial when I could be using #()
I was using #() and (fn..) extensively in my code until I noticed just how many "anonymous" classes were being generated (we had a scenario where we were repeatedly reloading the Clojure code - deliberately - and of course ended up with thousands of these classes loaded!). Understood it's fine in load-once-and-run scenarios. When I brought this up on IRC, several folks said they felt the comp / partial approach was nicer because it was point-free - as well as not generating new classes (new instances, yes, new classes, no - right?). Since then, I've almost eliminated the use of #() and (fn..) in our code and, whilst more verbose initially in some cases, I'm actually really liking the point-free style and it's letting me see new opportunities for refactoring and simplification that I hadn't seen previously (often triggered by encouraging me to pay more attention to argument ordering so that my functions are more composable). Given Meikel's 2009 blog post, I can understand why he might not agree, but given that we have both -> and ->>, it does seem like we have a 'hole' - comp/partial and ->> go together but there's no comp/??? to go with -> and we have to resort to #(f % a1 a2 a3)... -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ Railo Technologies, Inc. -- http://www.getrailo.com/ "Perfection is the enemy of the good." -- Gustave Flaubert, French realist novelist (1821-1880) -- 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