Hi --

On Wed, 5 Dec 2007, Bill Kelly wrote:

> Maybe I should instead be asking what you had in mind when you said,
> "In !/non-! pairs, it starts to be able to say something."  What is
> this something that is said by a paired !/non-! relationship?

I know what you mean about ri, but I check ri (or equivalent) for
every method, at some point, whether it has a ! or not, so I don't
think just peppering one's methods with occasional !'s really adds
anything from that perspective.

I think I'm about tapped out on this one, but I'll give it another
shot :-) I really like the convention that Matz uses, and every other
use of ! in method names has struck me as impressionistic and
uncommunicative. It would certainly be possible to have
exit/exit_without_finalizers and reverse/reverse_in_place. I just
think that Matz's abstraction of these as "dangerous", and dedication
of the ! to expressing that abstraction, is strikingly elegant and has
the weight of some kind of logic behind it. It hits a narrower target
-- it means that there's a whole class of tricky (or whatever) methods
that have to find some other way to express their trickiness -- but I
think it's worth it.


David

-- 
Upcoming training by David A. Black/Ruby Power and Light, LLC:
    * Intro to Rails, London, UK, December 3-6 (by Skills Matter)
See http://www.rubypal.com for details and 2008 announcements!