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

Reply via email to