On 15 Nov, 19:34, Brian Goslinga wrote:
> Well, assuming the memory is available, at least Clojure is guaranteed
> to support vectors with more than 1024 elements...
Unfair comparison. Clojure is not a standard, it's an implementation.
SBCL is guaranteed to support vectors with >> 1024 elements t
I'm building an ETL app, so aggregate functions of arbitrarily large
arity is a necessity. I've had to wrap a lot of core clojure
functions with concrete arg lists to make them work with lazy
sequences. In my limited experience, machine generated code of this
nature should use lazy sequences that
On Nov 13, 11:48 pm, Robert McIntyre wrote:
> So my friend and I were screwing around, battling versions of LISP as
> nerds are wont to do, when I came across this:
>
> (eval `(clojure.core/+ ~@(take 1e4 (iterate inc 1
> Invalid method Code length 89884 in class file user$eval13607
>
> This is
On Nov 14, 6:48 am, Robert McIntyre wrote:
> So my friend and I were screwing around, battling versions of LISP as
> nerds are wont to do, when I came across this:
>
> (eval `(clojure.core/+ ~@(take 1e4 (iterate inc 1
> Invalid method Code length 89884 in class file user$eval13607
>
> This is
On Sun, Nov 14, 2010 at 4:21 PM, Robert McIntyre wrote:
> That is not in fact an adequate workaround ---
>
> (eval `(apply + ~@(take 9001 (iterate inc 1 ;; OVER 9000!!!
>
> or, alternately
>
> (eval (cons 'apply (cons '+ (take 9001 (iterate inc 1)
>
> will fail just as in the addition ex
On Nov 14, 2010, at 4:21 PM, Robert McIntyre wrote:
> It's not true that you can just use an apply in your auto generated
> code, you would instead have to do something like a tree of function
> calls, so It may be worth increasing the limit for for the sake of
> enabling machine generated code.
>
That is not in fact an adequate workaround ---
(eval `(apply + ~@(take 9001 (iterate inc 1 ;; OVER 9000!!!
or, alternately
(eval (cons 'apply (cons '+ (take 9001 (iterate inc 1)
will fail just as in the addition examples.
It's not true that you can just use an apply in your auto gener
On Sun, 14 Nov 2010 08:43:11 -0500
Robert McIntyre wrote:
> @Mike Meyer
> Using apply is different than what I'm doing.
Yup.
> When I use eval I'm trying to evaluate a huge s-expression.
> When you use apply you're evaluating a s-expression with three
> elements. Same thing with the count form (
> I believe the underlying problem is a limit of the JVM. Maybe it
> would be possible for the Clojure compiler to work around the
> limitation, though.
It has a non trivial interaction with the lack of TCO.
The trivial transformation of going from a big method to a sequence of
small methods coul
On 14 November 2010 15:43, Robert McIntyre wrote:
> @Nicolas Oury
> I'd normally agree that "you just shouldn't do that kind of thing,"
> but this is not correct behaviour for something that I would consider
> a basic thing. It feels dirty that our functions don't work for
> "arbitrary arities"
@Nicolas Oury
I'd normally agree that "you just shouldn't do that kind of thing,"
but this is not correct behaviour for something that I would consider
a basic thing. It feels dirty that our functions don't work for
"arbitrary arities" but instead for arities only between 0 and around
7000. Sinc
On Sun, 14 Nov 2010 00:48:13 -0500
Robert McIntyre wrote:
> So my friend and I were screwing around, battling versions of LISP as
> nerds are wont to do, when I came across this:
>
> (eval `(clojure.core/+ ~@(take 1e4 (iterate inc 1
> Invalid method Code length 89884 in class file user$eval1
JVMs has a strange limitation for the size of methods.
I don't know if there is a plan to solve that on the JVM side.
It is quite hard to solve that on the compiler side.
When I bumped inot this (once for an ICFP contest), I rewrote a macro
so that it emitted
smaller methods called from a big meth
So my friend and I were screwing around, battling versions of LISP as
nerds are wont to do, when I came across this:
(eval `(clojure.core/+ ~@(take 1e4 (iterate inc 1
Invalid method Code length 89884 in class file user$eval13607
This is just trying to evaluate + directly on a bunch of argume
14 matches
Mail list logo