On Thu, Jan 8, 2009 at 10:20 AM, Rich Hickey <richhic...@gmail.com> wrote:
> On Thu, Jan 8, 2009 at 5:55 AM, Rich Hickey <richhic...@gmail.com>
> I think the real test of non-cached seqs is to swap them in for
> regular seqs, rebuild Clojure and some user libs and see what breaks
> and why. Then you'll see the dependencies on caching that exist in the
> real world. Your purely functional code might not care, other than
> perf, but that is not the only user base Clojure and I need to support.
>
> Rich

I tried to do that, swapping lazy-cons in core.clj to use the
commented out code from the lazy-seq macro, but I couldn't get Clojure
to build.  Clearly something in the bootstrapping code relied on
lazy-cons working exactly the way it works.  So yes, it is clear that
there are currently some dependencies on lazy-cons being cached.  What
is less clear is whether those depedencies can be easily isolated and
rewritten to explicitly use a separate caching version of lazy-cons,
leaving the rest of the codebase free to use an uncached variation of
lazy-cons by default.  I didn't understand the code well enough to
find the conflict that was preventing the code from building, so I
ended up separating out the uncached variations as a separate library
so I could at least experiment within my own code.  But I agree that
rebuilding Clojure in this way would be very enlightening.  Maybe I'll
take another stab at 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
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