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 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

Reply via email to