On Dec 18, 6:05 pm, "Mark Volkmann" <r.mark.volkm...@gmail.com> wrote:
> If I understand correctly,
>
> (are (< 1 2, 5 7))
>
> is equivalent to
>
> (is (< 1 2))
> (is (< 5 7))
Not exactly.  The first argument to "are" is a template expression,
which is sort of like #().  The arguments to the template are symbols
named "_1", "_2", "_3", "_4", and so on.  The remaining arguments of
"are" fill in the arguments to the template.  So:

(are (< _1 _2) 5 7 8 10)
;=> expands to (do (is (< 5 7)) (is (< 8 10))

Make sense?  This is roughly equivalent to
(map (fn [x y] (is (< x y))) [[5 7] [8 10]])
but it happens at compile time.

-Stuart Sierra
--~--~---------~--~----~------------~-------~--~----~
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
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to