On Thu, Dec 15, 2011 at 6:05 PM, David Nolen <dnolen.li...@gmail.com> wrote: > On Thu, Dec 15, 2011 at 6:01 PM, Cedric Greevey <cgree...@gmail.com> wrote: >> >> On Thu, Dec 15, 2011 at 5:59 PM, David Nolen <dnolen.li...@gmail.com> >> wrote: >> > On Thu, Dec 15, 2011 at 5:53 PM, Cedric Greevey <cgree...@gmail.com> >> > wrote: >> >> #<CompilerException java.lang.IllegalArgumentException: fns taking >> >> primitives support only 4 or fewer args, >> >> >> >> But the function isn't *taking* primitives. It's only *returning* a >> >> primitive, after taking Objects. So it obviously shouldn't produce >> >> this error. >> > >> > Not a bug, >> >> Clearly a bug. A limitation on primitive arguments simply cannot be >> applicable to a function with no primitive arguments. > > > primitive args/return are thoroughly intertwined. You cannot separate them > in the current implementation.
And yet, it accepts this function definition, which has one without the other: (defn foo ^long [x y] (+ x y)) > So it's not a bug, it's a limitation (and I one I don't see how to surmount). I don't see any logical reason why a function taking only non-primitive arguments cannot have a primitive return value. Certainly a Java method can take only reference type arguments and have a primitive return value, so we're not seeing a JVM limitation here. And all of that is leaving aside the fact that the error message claimed that the function *did* have at least one primitive argument, even though it did not. In any event, the compiler barfed on input with a message that clearly implies that the compiler should have accepted that same input. I can't see any way of interpreting that as "not a bug". -- 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