Hi Bill (aka William Djaja Tjokroaminata [mailto:billtj / y.glue.umd.edu]):

You wrote to the point:

> Dave Thomas <Dave / pragmaticprogrammer.com> wrote:
> > My point was that you were giving the impression that the 
> lack of ++ 
> > for Fixnum was an implementation issue, and that alternative Ruby 
> > implementations might support it. Given that you produce a document 
> > aimed at newcomers, it was important to me that this 
> misunderstanding 
> > was cleared up.
> 
> Well, as you already read, different people gave different 
> reasons why Fixnum#succ! is "impossible".  Without the 
> concept of "immutability" being formally introduced in the 
> Ruby programming language, I can always give the reason from 
> the implementation point of view.  (In theory, I can make 
> Fixnum to be mutable; whether this is good or bad is a different 
> story.  Guido thought that strings should be immutable; Matz 
> thought otherwise.  Python insists that hash keys be 
> immutable objects; Ruby allows any objects, with the 
> consequence of the need for "rehash" in certain situations.)
> 
> Without any formal treatment of immutability in Ruby, your 
> previous post is the only reference that I can use if in the 
> future these questions are asked again:
> 
> 1) Why Fixnum is immutable (no Fixnum#succ!) while String is 
> mutable (String#.succ! is provided)?
> 
> 2) How do I know which objects/classes are mutable and 
> immutable?  (Answer: just read all the methods, and if no "!" 
> methods are provided, it is immutable (?))
> 

Very clearly said.
I hope your questions will be answered clearly and posted to faq.

> Regards,
> 
> Bill

Best regards,
-botp