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