On Aug 5, 7:48 pm, Stu Hood <stuh...@gmail.com> wrote:
> I really, really like this feature. My only complaint is that you have to
> use different names for the modifying functions. If the function signatures
> will be identical to their non-transient variants, then I guess the primary
> arguments would be:
> * Clojure convention for names of functions with side-effects,
> * An additional interface check in conj/assoc?
>
> But if after calling (conj v 1), you can't use the 'v' reference anymore,
> then did you really cause a side effect? Its another tree falling in the
> woods situation.
>
Not at all. The normal persistent functions, e.g. conj/assoc, make a
promise that the thing they return *can* be held onto, indefinitely,
and immutably, and reused, thus 'persistent'. Calling an operation
that does not make those guarantees the same thing would be destroying
that promise. The names have to be different.
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
-~----------~----~----~----~------~----~------~--~---