I feel myself silly, but could you explain how does this work? (def +M (first [+' 1]))
Is it some kind of reader level trick? Cheers, Ivan. On 11 October 2011 04:25, Alan Malloy <a...@malloys.org> wrote: > (def +M (first [+' 1])) seems like it should work in both versions? > > On Oct 10, 4:28 pm, Brian Marick <mar...@exampler.com> wrote: > > I may be missing something obvious. > > > > Midje has a checker that lets users say things like > > > > (fact (my-computation) => (roughly 15 2)) > > > > Where the first number in `roughly` is the target number and the second > is an acceptable range around that target. Part of what the checker does in > 1.2 is this: > > > > (<= expected (+ actual delta)) > > > > Now, Midje is a service. If the 1.3 user has taken care to use > promoting-to-bignum arithmetic, it would be rude to blow up if `actual` > happens to be a regular integer but adding `delta` to it causes an overflow. > I should use promoting-to-bignum addition. In Clojure 1.3, thats +'. In 1.2, > it's +. > > > > I can't use the token +' because it doesn't exist in 1.2: > > > > > java.lang.ClassCastException: clojure.lang.Symbol cannot be cast to > java.lang.Number (NO_SOURCE_FILE:0) > > > > I can't use the token + because that blows up in the boundary case under > 1.3 (but not under 1.2). > > > > One thought is variations of code like this: > > > > > (if (clojure-1-3?) > > > (def +M +') > > > (def +M +) > > > > This causes amusing results because of the quote. I haven't found a > variation that works. > > > > So what should a library writer who wants to honor the choices of his > users do? > > > > ----- > > Brian Marick, Artisanal Labrador > > Now working athttp://path11.com > > Contract programming in Ruby and Clojure > > Occasional consulting on Agile > > -- > 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 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