On Dec 16, 2008, at 6:35 PM, Stephen C. Gilardi wrote:
It shares the data--which is safe because of immutability and efficient because Rich designed and implemented Clojure's persistent data structures carefully and well.
But Mark was talking about sequences, not persistent data structures! Good point... But same answer. There's lots of data sharing going on.Here's an example where I use metadata to mark a member so I can tell if it's identical in the aggregate sequence.
user=> (def a [#^{:blue 2} [:a]]) #'user/a user=> a [[:a]] user=> (def b (cons 3 a)) #'user/b user=> b (3 [:a]) user=> ^(frest b) {:blue 2} user=>
I recommend Rich's presentations on blip tv or iTunes to everyone who's interested in Clojure. They give good overviews and discuss a lot about why things are the way they are in Clojure.
And a good recommendation nonetheless... --Steve
smime.p7s
Description: S/MIME cryptographic signature