Yes, as I'm reading further into the book I am coming to understand more 
about the differences between the ref, atom, and agent types. I am 
beginning to see that swap! is not an alter on atoms, etc. The way the book 
presents the information, though, strongly suggests parallels.

Consistency is a virtue, and patterns help memorization. If there are 
parallels in usage, there should be parallels in name. As Phil Karlton 
pointed out, naming things is hard; and it's hard in large part because 
names should convey meaning, not just serve as arbitrary labels.

On Friday, February 19, 2016 at 5:30:00 AM UTC-6, Atamert Ölçgen wrote:
>
> why Clojure chose to name functions operating on refs and atoms so 
>> differently
>
>
> swap! is not an alter on atoms. And vice versa.
>
> reset! is not a ref-set on atoms. And vice versa.
>
> The analogous functions names would make remembering which is which easier.
>
>
> Are you having trouble remembering them?
>
>
>
> On Fri, Feb 19, 2016 at 7:04 AM, Tianxiang Xiong <tianxia...@gmail.com 
> <javascript:>> wrote:
>
>> I'm currently reading Practical Clojure 
>> <http://www.apress.com/9781430272311> by VanderHart and Sierra, and am 
>> on the section about state management. 
>>
>> I'm curious why Clojure chose to name functions operating on refs and 
>> atoms so differently. As I understand it,
>>
>> swap! -> atoms, alter -> refs
>> reset! -> atoms, ref-set -> refs
>>
>> Why "swap!" and "reset!", instead of "atom-alter" and "atom-set"? The 
>> analogous functions names would make remembering which is which easier.
>>
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@googlegroups.com 
>> <javascript:>
>> Note that posts from new members are moderated - please be patient with 
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+u...@googlegroups.com <javascript:>
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to clojure+u...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Kind Regards,
> Atamert Ölçgen
>
> ◻◼◻
> ◻◻◼
> ◼◼◼
>
> www.muhuk.com
>

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to