I have a potential fix that handles the extra ->R parameters.
However, there are some existing caveats:
1. The 20+ args path is much slower than the <20 args path. This is a
limitation that may not go away unless the <20 function args
limitation does.
The speed difference comes from the ability to perform (R. ~@args) in
the <20 path and the need for (into record-of-<20-args built-map-of-
remaining-args) in the 20+ path. (note paths determined at compile
time)
2. Any extra values passed to ->R in the 20+ case are lost.
e.g.
(defrecord R [a ... u])
(->R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22)
;=> #user.R{:a 1, :b 2, :c 3, :d 4, :e 5, :f 6, :g 7, :h 8, :i 9, :j
10, :k 11, :l 12, :m 13, :n 14, :o 15, :p 16, :q 17, :r 18, :s 19, :u
21, :t 20}
22 is missing.
Thoughts?
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en