Re: [ANN] Clojure 1.7.0-RC1 now available

2015-05-22 Thread Jason Wolfe
We haven't shipped it to production yet, but I just verified that our full 
test suite at Prismatic passes on RC1 after fixing a few tests that were 
erroneously depending on hash ordering.   Thanks everyone for all the hard 
work on this release!  

On Thursday, May 21, 2015 at 9:31:08 AM UTC-7, Alex Miller wrote:
>
> Clojure 1.7.0-RC1 is now available.
>
> Try it via
> - Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0-RC1/
> - Leiningen: [org.clojure/clojure "1.7.0-RC1"]
>
> The only change since 1.7.0-beta3 is CLJ-1706, which makes reader 
> conditional splicing an error at the top level (previously it would 
> silently drop all but the first spliced element).
>
> For a full list of changes since 1.6.0, see:
> https://github.com/clojure/clojure/blob/master/changes.md
>
> Please give it a try and let us know if things are working (or not). The 
> more and quicker feedback we get, the sooner we can release 1.7.0 final!
>
> - Alex
>

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: are there any real examples on Github of how to use reducers?

2015-05-22 Thread Marshall Bockrath-Vandegrift
piastkra...@gmail.com writes:

> Can anyone point me to a project on Github that is using Clojure 1.5
> reducerers?

The Parkour project provides an interface to Hadoop MapReduce primarily
in terms of tasks as functions over task input chunks as
clojure.core.reducers reducible collections:

https://github.com/damballa/parkour

-- 
Marshall Bockrath-Vandegrift 
Principal Software Engineer, Damballa R&D

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: a simple question about Arrays.asList

2015-05-22 Thread webber
Hi Aaron,

Thank you for your reply. I was able to understand.

> Why are you trying to use Arrays#asList btw? There are probably better 
ways to do what you're trying to do.

I just wanted to test reify to implement java.util.Comarator as follows:

(java.util.Collections/sort  x 
 (reify java.util.Comparator
 (compare [this x y]
   (Integer/compare x y

Initially, I gave a test data like this.

 (def x 
  (doto (java.util.ArrayList.)
(.add 3)(.add 1)(.add 2)))

 However, I thought asList is better. Are there better ways to do ?

Thanks,
MH

Since Arrays.asList is a variadic method, the Java compiler is magically 
> creating an array behind the scenes for you when you write Java code 
> invoking it.
>
> Clojure does variadic functions differently for native clojure code.
>
> To do interop with a Java variadic method have to create the array 
> yourself:
> (java.util.Arrays/asList (make-array Object 1 2 3))
>
> Why are you trying to use Arrays#asList btw? There are probably better 
> ways to do what you're trying to do.
>
> --Aaron
>
> On Thu, May 21, 2015 at 5:08 PM, webber 
> > wrote:
>
>> I am trying to use java.util.Arrays/asList in Clojure.
>>
>> (java.util.Arrays/asList 1 2 3)
>>
>> CompilerException java.lang.IllegalArgumentException: No matching method: 
>> asList, compiling:(NO_SOURCE_PATH:1:1) 
>>
>> (java.util.Arrays/asList 1)
>>
>> ClassCastException java.lang.Long cannot be cast to [Ljava.lang.Object; 
>>  user/eval7195 (NO_SOURCE_FILE:1)
>>
>> What should I do to work it ?
>>
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@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+u...@googlegroups.com 
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to clojure+u...@googlegroups.com .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: a simple question about Arrays.asList

2015-05-22 Thread webber
Hi Mauricio,

The into-array worked fine !

Thanks,
MH
 

> There are many things that need to be understood in a call like this.
>
> First of all, that method receives an array as its argument:  
> https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#asList(T...)
>
> From your first example I think you are trying to translate to clojure the 
> following java call:
>
> java.util.Arrays.asList(1, 2, 3);
>
> In java this is a varargs call, which means java will change the call to 
> one using an array as the parameter 
> (http://docs.oracle.com/javase/8/docs/technotes/guides/language/varargs.html).
>
> So, in order to make that call we need to wrap those arguments in an 
> array. The easiest way to do this would be to wrap the arguments in a 
> vector an turn that into an array:
>
> user> (java.util.Arrays/asList (into-array [1 2 3]))
> [1 2 3]
>
> If you don't already have a sequence (the vector in the previous example) 
> then you can use a function to do the work:
>
> user> (defn as-list [& args] (java.util.Arrays/asList (into-array args)))
>  #'user/as-list
> user> (as-list 1 2 3)
> [1 2 3]
> user> (type (as-list 1 2 3))
> java.util.Arrays$ArrayList
>
>
> Cheers,
> Mauricio
>

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: a simple question about Arrays.asList

2015-05-22 Thread Rafal Lewczuk

Hi,

Try this:

(java.util.Arrays/asList (to-array [1 2 3 4]))


Regards,
rle



On 21.05.2015 23:08, webber wrote:

I am trying to use java.util.Arrays/asList in Clojure.

(java.util.Arrays/asList 1 2 3)

CompilerException java.lang.IllegalArgumentException: No matching method:
asList, compiling:(NO_SOURCE_PATH:1:1)

(java.util.Arrays/asList 1)

ClassCastException java.lang.Long cannot be cast to [Ljava.lang.Object;
  user/eval7195 (NO_SOURCE_FILE:1)

What should I do to work it ?



--
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
--- 
You received this message because you are subscribed to the Google Groups "Clojure" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: One more argument for cyclic dependencies

2015-05-22 Thread Mars0i
I've now tried implementing the Student class (see previous posts) using 
reify, deftype, defrecord, and proxy, in each case specifying that they 
implement an interface (SteppableStudent) that extends the MASON Java 
interface Steppable.  (The extended interface adds one method.)

The reify and deftype versions are as fast as my original gen-class 
version--a little bit faster, even--so that my all-Clojure version (using 
classes from the MASON library written in Java) can run at about half the 
speed of a pure Java version.

However, in all versions (gen-class, reify, deftype, defrecord, proxy), I 
can only get maximum speed by the same awkward trick that I used with 
gen-class:  I remove a type hint in Student.clj, compile all of the files, 
then I add back the type hint in Student.clj and recompile it.  If I don't 
do this, I either get "java.lang.Exception: Cyclic load dependency"; or I 
can't compile Student.clj because Students doesn't exist, or can't compile 
Students.clj because Student doesn't exist.

I thought I'd summarize all of this here for anyone who had followed this 
thread.  I'll may post a new question, with additional details, in a new 
thread in this group, or in StackOverflow.  I want to try some other things 
first.

Although I have not yet solved the original problem, I've learned a great 
deal as a result of the suggestions people offered in this thread.  Thanks!

(I still wonder whether my problem can only be solved by a change to the 
Clojure compiler, but I have to investigate and think about the problem a 
bit more.)

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] Demo of the Holy Grail workflow

2015-05-22 Thread Albin Stjerna
I can't play it in Sweden either. :(
On 22 May 2015 04:58, "Shaun Mahood"  wrote:

> Can't play it in Canada from my mobile.
>
> --
> 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
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] Demo of the Holy Grail workflow

2015-05-22 Thread Daniel Szmulewicz
Sorry about that. Some countries are prevented from watching this video on 
Youtube. I've uploaded the video on Vimeo to offer an alternative. Please 
try it out. It seems that on Vimeo you need to turn HD on manually to 
benefit from the maximum resolution. 

https://vimeo.com/128624743

Best of luck.

On Friday, May 22, 2015 at 9:53:24 PM UTC+3, albins wrote:
>
> I can't play it in Sweden either. :(
> On 22 May 2015 04:58, "Shaun Mahood" > 
> wrote:
>
>> Can't play it in Canada from my mobile.
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@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+u...@googlegroups.com 
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups 
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to clojure+u...@googlegroups.com .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] Clojure 1.7.0-RC1 now available

2015-05-22 Thread Jason Wolfe
Just deployed to our staging environment and ran into an unexpected stack 
overflow error.  Here's a reduced test case:
 
user> (->> (range 1) (mapcat (fn [_] (java.util.ArrayList. (range 
10 (reduce (constantly nil)))

java.lang.StackOverflowError: 
   RT.java:509 clojure.lang.RT.seq
  core.clj:135 clojure.core/seq
  core.clj:698 clojure.core/concat[fn]
   LazySeq.java:40 clojure.lang.LazySeq.sval
   LazySeq.java:49 clojure.lang.LazySeq.seq
   ChunkedCons.java:59 clojure.lang.ChunkedCons.chunkedNext
  core.clj:671 clojure.core/chunk-next
 protocols.clj:119 clojure.core.protocols/fn
  protocols.clj:19 clojure.core.protocols/fn[fn]
  protocols.clj:31 clojure.core.protocols/seq-reduce
  protocols.clj:75 clojure.core.protocols/fn
  protocols.clj:13 clojure.core.protocols/fn[fn]
 protocols.clj:152 clojure.core.protocols/fn
  protocols.clj:19 clojure.core.protocols/fn[fn]
  protocols.clj:31 clojure.core.protocols/seq-reduce
  protocols.clj:75 clojure.core.protocols/fn
  protocols.clj:13 clojure.core.protocols/fn[fn]
 protocols.clj:122 clojure.core.protocols/fn
  protocols.clj:19 clojure.core.protocols/fn[fn]
  protocols.clj:31 clojure.core.protocols/seq-reduce
  protocols.clj:75 clojure.core.protocols/fn
  protocols.clj:13 clojure.core.protocols/fn[fn]
 protocols.clj:152 clojure.core.protocols/fn
  protocols.clj:19 clojure.core.protocols/fn[fn]
  protocols.clj:31 clojure.core.protocols/seq-reduce
  protocols.clj:75 clojure.core.protocols/fn
  protocols.clj:13 clojure.core.protocols/fn[fn]
 protocols.clj:122 clojure.core.protocols/fn
  protocols.clj:19 clojure.core.protocols/fn[fn]
  protocols.clj:31 clojure.core.protocols/seq-reduce
  protocols.clj:75 clojure.core.protocols/fn
  protocols.clj:13 clojure.core.protocols/fn[fn]
 protocols.clj:152 clojure.core.protocols/fn
  protocols.clj:19 clojure.core.protocols/fn[fn]
  protocols.clj:31 clojure.core.protocols/seq-reduce
  protocols.clj:75 clojure.core.protocols/fn
  protocols.clj:13 clojure.core.protocols/fn[fn]
 protocols.clj:122 clojure.core.protocols/fn
  protocols.clj:19 clojure.core.protocols/fn[fn]
  protocols.clj:31 clojure.core.protocols/seq-reduce
  protocols.clj:75 clojure.core.protocols/fn
  protocols.clj:13 clojure.core.protocols/fn[fn]
 protocols.clj:152 clojure.core.protocols/fn
  protocols.clj:19 clojure.core.protocols/fn[fn]
  protocols.clj:31 clojure.core.protocols/seq-reduce
  protocols.clj:75 clojure.core.protocols/fn
  protocols.clj:13 clojure.core.protocols/fn[fn]
 protocols.clj:122 clojure.core.protocols/fn
  protocols.clj:19 clojure.core.protocols/fn[fn]


On Thursday, May 21, 2015 at 9:31:08 AM UTC-7, Alex Miller wrote:
>
> Clojure 1.7.0-RC1 is now available.
>
> Try it via
> - Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0-RC1/
> - Leiningen: [org.clojure/clojure "1.7.0-RC1"]
>
> The only change since 1.7.0-beta3 is CLJ-1706, which makes reader 
> conditional splicing an error at the top level (previously it would 
> silently drop all but the first spliced element).
>
> For a full list of changes since 1.6.0, see:
> https://github.com/clojure/clojure/blob/master/changes.md
>
> Please give it a try and let us know if things are working (or not). The 
> more and quicker feedback we get, the sooner we can release 1.7.0 final!
>
> - Alex
>

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: One more argument for cyclic dependencies

2015-05-22 Thread Tassilo Horn
Mars0i  writes:

> However, in all versions (gen-class, reify, deftype, defrecord,
> proxy), I can only get maximum speed by the same awkward trick that I
> used with gen-class: I remove a type hint in Student.clj, compile all
> of the files, then I add back the type hint in Student.clj and
> recompile it.  If I don't do this, I either get "java.lang.Exception:
> Cyclic load dependency"; or I can't compile Student.clj because
> Students doesn't exist, or can't compile Students.clj because Student
> doesn't exist.

Is the code somewhere that we can have a look?

Bye,
Tassilo

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] Clojure 1.7.0-RC1 now available

2015-05-22 Thread Daniel Compton
One of the most significant features of 1.7 are Reader Conditionals. I'm
pretty confident after all the discussion that has gone on that we have a
good design. However I haven't seen many or any libraries which have gone
through the porting process to use Reader Conditionals.

I've worked on porting a few libraries and everything has gone mostly
smoothly. However I'd feel more confident that we've got the right design
if we had more people trying to port their libraries/projects to cljc and
reporting their experiences.

Is this a reasonable concern, or am I missing something and this isn't
necessary?
On Fri, 22 May 2015 at 7:35 pm Jason Wolfe  wrote:

> We haven't shipped it to production yet, but I just verified that our full
> test suite at Prismatic passes on RC1 after fixing a few tests that were
> erroneously depending on hash ordering.   Thanks everyone for all the hard
> work on this release!
>
> On Thursday, May 21, 2015 at 9:31:08 AM UTC-7, Alex Miller wrote:
>>
>> Clojure 1.7.0-RC1 is now available.
>>
>> Try it via
>> - Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0-RC1/
>> - Leiningen: [org.clojure/clojure "1.7.0-RC1"]
>>
>> The only change since 1.7.0-beta3 is CLJ-1706, which makes reader
>> conditional splicing an error at the top level (previously it would
>> silently drop all but the first spliced element).
>>
>> For a full list of changes since 1.6.0, see:
>> https://github.com/clojure/clojure/blob/master/changes.md
>>
>> Please give it a try and let us know if things are working (or not). The
>> more and quicker feedback we get, the sooner we can release 1.7.0 final!
>>
>> - Alex
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Clojure Dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure-dev+unsubscr...@googlegroups.com.
> To post to this group, send email to clojure-...@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojure-dev.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] Clojure 1.7.0-RC1 now available

2015-05-22 Thread Alex Miller
That is interesting Jason - please file a ticket.

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] Clojure 1.7.0-RC1 now available

2015-05-22 Thread Alex Miller
Daniel, I have seen a number of reports from people successfully porting to use 
reader conditionals. A few issues have been reported and fixed. This rc period 
is when people should try it and report what they see. 

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] Clojure 1.7.0-RC1 now available

2015-05-22 Thread Ghadi Shayban
This commit [1] for CLJ-1589 changed dispatch for InternalReduce, causing a 
bug similar to CLJ-1237 [2].

[1] 
https://github.com/clojure/clojure/commit/1242c4878f3d4ef30535a22f6c74144637504fbe
[2] http://dev.clojure.org/jira/browse/CLJ-1237

On Friday, May 22, 2015 at 5:01:25 PM UTC-4, Jason Wolfe wrote:
>
> Just deployed to our staging environment and ran into an unexpected stack 
> overflow error.  Here's a reduced test case:
>  
> user> (->> (range 1) (mapcat (fn [_] (java.util.ArrayList. (range 
> 10 (reduce (constantly nil)))
>
> java.lang.StackOverflowError: 
>RT.java:509 clojure.lang.RT.seq
>   core.clj:135 clojure.core/seq
>   core.clj:698 clojure.core/concat[fn]
>LazySeq.java:40 clojure.lang.LazySeq.sval
>LazySeq.java:49 clojure.lang.LazySeq.seq
>ChunkedCons.java:59 clojure.lang.ChunkedCons.chunkedNext
>   core.clj:671 clojure.core/chunk-next
>  protocols.clj:119 clojure.core.protocols/fn
>   protocols.clj:19 clojure.core.protocols/fn[fn]
>   protocols.clj:31 clojure.core.protocols/seq-reduce
>   protocols.clj:75 clojure.core.protocols/fn
>   protocols.clj:13 clojure.core.protocols/fn[fn]
>  protocols.clj:152 clojure.core.protocols/fn
>   protocols.clj:19 clojure.core.protocols/fn[fn]
>   protocols.clj:31 clojure.core.protocols/seq-reduce
>   protocols.clj:75 clojure.core.protocols/fn
>   protocols.clj:13 clojure.core.protocols/fn[fn]
>  protocols.clj:122 clojure.core.protocols/fn
>   protocols.clj:19 clojure.core.protocols/fn[fn]
>   protocols.clj:31 clojure.core.protocols/seq-reduce
>   protocols.clj:75 clojure.core.protocols/fn
>   protocols.clj:13 clojure.core.protocols/fn[fn]
>  protocols.clj:152 clojure.core.protocols/fn
>   protocols.clj:19 clojure.core.protocols/fn[fn]
>   protocols.clj:31 clojure.core.protocols/seq-reduce
>   protocols.clj:75 clojure.core.protocols/fn
>   protocols.clj:13 clojure.core.protocols/fn[fn]
>  protocols.clj:122 clojure.core.protocols/fn
>   protocols.clj:19 clojure.core.protocols/fn[fn]
>   protocols.clj:31 clojure.core.protocols/seq-reduce
>   protocols.clj:75 clojure.core.protocols/fn
>   protocols.clj:13 clojure.core.protocols/fn[fn]
>  protocols.clj:152 clojure.core.protocols/fn
>   protocols.clj:19 clojure.core.protocols/fn[fn]
>   protocols.clj:31 clojure.core.protocols/seq-reduce
>   protocols.clj:75 clojure.core.protocols/fn
>   protocols.clj:13 clojure.core.protocols/fn[fn]
>  protocols.clj:122 clojure.core.protocols/fn
>   protocols.clj:19 clojure.core.protocols/fn[fn]
>   protocols.clj:31 clojure.core.protocols/seq-reduce
>   protocols.clj:75 clojure.core.protocols/fn
>   protocols.clj:13 clojure.core.protocols/fn[fn]
>  protocols.clj:152 clojure.core.protocols/fn
>   protocols.clj:19 clojure.core.protocols/fn[fn]
>   protocols.clj:31 clojure.core.protocols/seq-reduce
>   protocols.clj:75 clojure.core.protocols/fn
>   protocols.clj:13 clojure.core.protocols/fn[fn]
>  protocols.clj:122 clojure.core.protocols/fn
>   protocols.clj:19 clojure.core.protocols/fn[fn]
> 
>
> On Thursday, May 21, 2015 at 9:31:08 AM UTC-7, Alex Miller wrote:
>>
>> Clojure 1.7.0-RC1 is now available.
>>
>> Try it via
>> - Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0-RC1/
>> - Leiningen: [org.clojure/clojure "1.7.0-RC1"]
>>
>> The only change since 1.7.0-beta3 is CLJ-1706, which makes reader 
>> conditional splicing an error at the top level (previously it would 
>> silently drop all but the first spliced element).
>>
>> For a full list of changes since 1.6.0, see:
>> https://github.com/clojure/clojure/blob/master/changes.md
>>
>> Please give it a try and let us know if things are working (or not). The 
>> more and quicker feedback we get, the sooner we can release 1.7.0 final!
>>
>> - Alex
>>
>

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] Clojure 1.7.0-RC1 now available

2015-05-22 Thread Jason Wolfe
Thanks for the context.  

It looks like this is actually the same as CLJ-1237, the scope of the issue 
is just broader now with that commit.  I left a comment there rather than 
creating a new ticket.  

On Friday, May 22, 2015 at 3:02:02 PM UTC-7, Ghadi Shayban wrote:
>
> This commit [1] for CLJ-1589 changed dispatch for InternalReduce, causing 
> a bug similar to CLJ-1237 [2].
>
> [1] 
> https://github.com/clojure/clojure/commit/1242c4878f3d4ef30535a22f6c74144637504fbe
> [2] http://dev.clojure.org/jira/browse/CLJ-1237
>
> On Friday, May 22, 2015 at 5:01:25 PM UTC-4, Jason Wolfe wrote:
>>
>> Just deployed to our staging environment and ran into an unexpected stack 
>> overflow error.  Here's a reduced test case:
>>  
>> user> (->> (range 1) (mapcat (fn [_] (java.util.ArrayList. (range 
>> 10 (reduce (constantly nil)))
>>
>> java.lang.StackOverflowError: 
>>RT.java:509 clojure.lang.RT.seq
>>   core.clj:135 clojure.core/seq
>>   core.clj:698 clojure.core/concat[fn]
>>LazySeq.java:40 clojure.lang.LazySeq.sval
>>LazySeq.java:49 clojure.lang.LazySeq.seq
>>ChunkedCons.java:59 clojure.lang.ChunkedCons.chunkedNext
>>   core.clj:671 clojure.core/chunk-next
>>  protocols.clj:119 clojure.core.protocols/fn
>>   protocols.clj:19 clojure.core.protocols/fn[fn]
>>   protocols.clj:31 clojure.core.protocols/seq-reduce
>>   protocols.clj:75 clojure.core.protocols/fn
>>   protocols.clj:13 clojure.core.protocols/fn[fn]
>>  protocols.clj:152 clojure.core.protocols/fn
>>   protocols.clj:19 clojure.core.protocols/fn[fn]
>>   protocols.clj:31 clojure.core.protocols/seq-reduce
>>   protocols.clj:75 clojure.core.protocols/fn
>>   protocols.clj:13 clojure.core.protocols/fn[fn]
>>  protocols.clj:122 clojure.core.protocols/fn
>>   protocols.clj:19 clojure.core.protocols/fn[fn]
>>   protocols.clj:31 clojure.core.protocols/seq-reduce
>>   protocols.clj:75 clojure.core.protocols/fn
>>   protocols.clj:13 clojure.core.protocols/fn[fn]
>>  protocols.clj:152 clojure.core.protocols/fn
>>   protocols.clj:19 clojure.core.protocols/fn[fn]
>>   protocols.clj:31 clojure.core.protocols/seq-reduce
>>   protocols.clj:75 clojure.core.protocols/fn
>>   protocols.clj:13 clojure.core.protocols/fn[fn]
>>  protocols.clj:122 clojure.core.protocols/fn
>>   protocols.clj:19 clojure.core.protocols/fn[fn]
>>   protocols.clj:31 clojure.core.protocols/seq-reduce
>>   protocols.clj:75 clojure.core.protocols/fn
>>   protocols.clj:13 clojure.core.protocols/fn[fn]
>>  protocols.clj:152 clojure.core.protocols/fn
>>   protocols.clj:19 clojure.core.protocols/fn[fn]
>>   protocols.clj:31 clojure.core.protocols/seq-reduce
>>   protocols.clj:75 clojure.core.protocols/fn
>>   protocols.clj:13 clojure.core.protocols/fn[fn]
>>  protocols.clj:122 clojure.core.protocols/fn
>>   protocols.clj:19 clojure.core.protocols/fn[fn]
>>   protocols.clj:31 clojure.core.protocols/seq-reduce
>>   protocols.clj:75 clojure.core.protocols/fn
>>   protocols.clj:13 clojure.core.protocols/fn[fn]
>>  protocols.clj:152 clojure.core.protocols/fn
>>   protocols.clj:19 clojure.core.protocols/fn[fn]
>>   protocols.clj:31 clojure.core.protocols/seq-reduce
>>   protocols.clj:75 clojure.core.protocols/fn
>>   protocols.clj:13 clojure.core.protocols/fn[fn]
>>  protocols.clj:122 clojure.core.protocols/fn
>>   protocols.clj:19 clojure.core.protocols/fn[fn]
>> 
>>
>> On Thursday, May 21, 2015 at 9:31:08 AM UTC-7, Alex Miller wrote:
>>>
>>> Clojure 1.7.0-RC1 is now available.
>>>
>>> Try it via
>>> - Download: 
>>> https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0-RC1/
>>> - Leiningen: [org.clojure/clojure "1.7.0-RC1"]
>>>
>>> The only change since 1.7.0-beta3 is CLJ-1706, which makes reader 
>>> conditional splicing an error at the top level (previously it would 
>>> silently drop all but the first spliced element).
>>>
>>> For a full list of changes since 1.6.0, see:
>>> https://github.com/clojure/clojure/blob/master/changes.md
>>>
>>> Please give it a try and let us know if things are working (or not). The 
>>> more and quicker feedback we get, the sooner we can release 1.7.0 final!
>>>
>>> - Alex
>>>
>>

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.goog

Re: One more argument for cyclic dependencies

2015-05-22 Thread Mars0i
Problem solved.  I finally got rid of the problem that required me to 
delete a type hint, compile, add it back, and recompile, by moving the 
gen-interface and deftype calls that I used to define the Student class 
into the same namespace I used to define the Students class.  (I think 
that's what people were suggesting, but I lost track of what all of the 
relevant points.)

Tassilo, thanks for being willing to look at the code.  I appreciate it.  
There's no need to look at it to solve the delete/restore/recompile 
problem.  (If you or anyone else still want to look at the source for any 
reason, it's at https://github.com/mars0i/majure.  The latest version at 
this moment is in the directory *3opt8*.  The version referenced in my last 
post was in *3opt7*.   *0plus* contains a pure Java version.  I may 
reorganize the directories in a few weeks.)

Thanks for everyone's help!

On Friday, May 22, 2015 at 4:02:35 PM UTC-5, Tassilo Horn wrote:
>
> Mars0i > writes: 
>
> > However, in all versions (gen-class, reify, deftype, defrecord, 
> > proxy), I can only get maximum speed by the same awkward trick that I 
> > used with gen-class: I remove a type hint in Student.clj, compile all 
> > of the files, then I add back the type hint in Student.clj and 
> > recompile it.  If I don't do this, I either get "java.lang.Exception: 
> > Cyclic load dependency"; or I can't compile Student.clj because 
> > Students doesn't exist, or can't compile Students.clj because Student 
> > doesn't exist. 
>
> Is the code somewhere that we can have a look? 
>
> Bye, 
> Tassilo 
>

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.