you can't really use this as regular old mutable data.
if you store it somewhere, and then you change it, the original will
break.
i don't really see how you could use this in a non-functional way and
still
have it work at all.

like, you probably won't actually be let-binding them very often.
seems
like the sort of thing that you'll have a block of code that looks
like:
(-> []
  (transient)
  (conj! stuff)
  (assoc! stuff)
  (persistent!))

in fact, i'll probably end up writing a macro that does just that.

On Aug 4, 10:19 am, Sean Devlin <francoisdev...@gmail.com> wrote:
> 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