Late to the party, but from a compiler hacker's perspective, `(:start 
voyage)` tells me that `voyage` implements ILookup, and probably 
Associative. There's nothing that says it can't have side-effects, although 
none of the built-in data structures do. 

`(start voyage)` leaves me in the dark: I would prefer it not to have side 
effects, but I can't be sure.

I dislike accessor functions. I try to use symbols which name the thing they 
return rather than what they do: `(beginning voyage)` instead of `(get-start 
voyage)`. I've even seen prepositions in function names, like `(start-of 
voyage)` or `(time-from-log voyage)`.

Ideally, functions with side-effects would be so rare that they could all 
have `!` on the end and it wouldn't look weird. Of course that ideal is 
rarely met in practice.

All that said, I'm not firmly committed to TDD in either direction, so I'm 
probably not your target audience. ;)

-S

-- 
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