I don't think redefining the behavior of fundamental syntax is a good idea. Might break many things.
On Mon, Jun 4, 2012 at 2:29 PM, Steven Obua <ste...@obua.de> wrote: > Come to think of it, why not redefine #(...) in the following way: > > > If (count [...]) is 0 or > 1 , then the old semantics stays > If (count [...]) is 1, then the new semantics kicks in (i.e., without > enclosing brackets). > > This would allow (#({:a %}) :b) to behave in a sane way > > In case f is actually a function of no arguments, for #(f) you would get > > (fn [] f) > > which is also more likely what you actually want compared to the old meaning > > (fn [] (f)) > > which is equivalent to f (and therefore there is no need to write #(f) in > the first place). > > > On Monday, June 4, 2012 2:53:09 AM UTC+1, Steven Obua wrote: >> >> The expression >> >> (#({:a %}) :b) >> >> should evaluate to {:a :b}, but raises an exception instead: >> >> Wrong number of args (0) passed to: PersistentArrayMap >> >> This is a pretty irritating bug and makes the #% form essentially unusable >> for me, because I cannot rely on it but have to always second guess if its >> use is safe in the current context or not. > > -- > 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 -- Moritz Ulrich -- 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