Rich,

First of all, thank you for informing the community about this before
you push it into Clojure 1.1/2.0.  Developers are people, and it takes
time for us to adjust to change.  Advance warning helps a lot.

As for the changes themselves, I don't know yet.  Now, I've only
thought about this briefly, and you have been working on this a long
time.  I don't have your experience.  I'm sure there a ton of details
I don't see, but the following is my "gut" response.

I don't like this addition.  I absolutely love that every data
structure is persistent in Clojure, and that I don't have to think
about sharing, etc.  You make a great argument in your "Clojure for
Lispers" videos about why persistent data structures are required, and
human understanding is not enough.  This change seems to be a step
backwards.

The above argument is not perfect.  I will admit that using Java
interaction, it is possible to deal with mutable data structures
anyway.  I do have some code the relies on Java classes, and I mutate
the object sequentially.  In those cases I wrap all the changes inside
of one higher level function and return the result.  So maybe I am
doing some type of transient thing already.

As a second point, I don't like the introduction of assoc!, conj!,
etc.  It just strikes me as another bug to have (oh, right, I need
assoc! not assoc...).

With all this being said, I'm looking forward to your final version.
Your speedup is impressive, and I know parts of my code (lists of hash
maps) that could use it.  You've done some pretty bad ass stuff with
Clojure so far, and I think there is a chance that you could pull this
off beautifully.

Good luck.

On Aug 3, 5:25 pm, Rich Hickey <richhic...@gmail.com> wrote:
> I've been doing some work on Transient Data Structures. You can read
> about them here:
>
> http://clojure.org/transients
>
> Feedback welcome,
>
> Rich
--~--~---------~--~----~------------~-------~--~----~
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