In message <Pine.LNX.4.21.0107100124120.1155-100000 / cr798598-a.crdva1.bc.wave.home.com> avi / beta4.com writes: > > Because Fixnum's do not really exist in memory, you cannot change > > their value. But look at Perl, Python or Smalltalk, they work the > > same way, or is there for every number an object in memory? > > > > Numbers are first class objects. But they are passed by value not > > by reference. > > That's probably the most useful way of looking at it, but I just think of > Numbers as being normal objects that happen not to have *any* mutating > methods, or accessible state... the semantics work out the same either > way, as far as I can tell. Yes, yes. And more.... If numbers have a mutator method, say succ! for +1, then strange world appears: at here, we cannot trust that any number has equal `value' in the life of program. Even integer literal such as `0' since the program might do a = 0 and then a.succ! in anywhere.... -- kjana / os.xaxon.ne.jp July 10, 2001 Penny wise, pound foolish.