Rasputin wrote:

>When I want a speech synthesis feature added
>to my application, do I *really* want to add a String#speak
>method or a Synthesiser#say method?
>
>What about when I want morse code? Or smoke signals?
>Does String need to have a render_as_gif method?
>
>And then when I don't need the morse code functionality, do I just
>stop requiring smoky.rb or do I go through and hack the String class?
>Don't forget anything else you might want to print - Fixnums, Arrays,
>serailised digital representations of Willy Rushton, etc, etc.
>
Interestingly enough, with ruby, you could actually add 
String#redner_as_gif by doing

require 'gif'

Or add String#make_smoke_signals with

require 'smoky'

Not that that has any bearing on whether that's the best model to use 
(and in fact, I doubt you'd
want all libraries to simply modify the built-in classes), but Ruby 
makes that sort of thing easier
than many other languages.

- Dan