Hi Aviad, Disclaimer: I haven't read the book, nor do I know Clojure very well.
However, based on your question (which I did read) and Brenton's hint, it seems to me like the solution will involve a lazy sequence, which is a frequent tool to use whenever you're dealing with a problems that involve a lot of memory. - Greg On Feb 10, 2010, at 10:13 AM, Aviad Reich wrote: > thank you. > I have "-server" and "-Xmx1024m" set in my 'swank-clojure-extra-vm-args, but > the problem remains. > > Aviad > > > > On 10 February 2010 15:57, Joop Kiefte <iko...@gmail.com> wrote: > (Disclaimer: never tried myself) > http://hausheer.osola.com/docs/5 > > 2010/2/10 Aviad R <avi....@gmail.com> > > Hi all. > > I'm trying to learn clojure with the excellent "Programming Clojure" > and projecteuler.net. I am encountering the java heap space error, and > can't find a workaround, nor a smarter way to write my code (which I > am certain exist). > > Trying to solve Problem 14 (some spoilers might be ahead, for those > wanting to solve it in the future). > > The problem and my code are in https://pastee.org/hj3sh > > here is the problem: > I am trying to produce a map of one O(million) key-value pairs using a > recursive function. > > I can produce a map of the first 100000 numbers in ~1300 msecs, with > 217211 keys. > However, for 150000 and up, I get java.lang.OutOfMemoryError: Java > heap space. > > so, I assume my code is ok on efficiency, but the recursion is too > deep. > > am I right? can anyone suggest a way to overcome this problem? > any additional tips and thoughts on the code would be of great help to > me, as I am making my first steps in clojure. > > Thank you, > Aviad > > -- > 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 > > > > -- > Communication is essential. So we need decent tools when communication is > lacking, when language capability is hard to acquire... > > - http://esperanto.net - http://esperanto-jongeren.nl > > Linux-user #496644 (http://counter.li.org) - first touch of linux in 2004 > > -- > 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 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 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