From: Gary Wright Date: 2007-05-01T01:41:30+09:00 Subject: Re: Why is 0x7FFFFFFF Bignum and not Fixnum ? On Apr 30, 2007, at 9:58 AM, Jano Svitok wrote: > This is kind of "hack" / implementation detail: > > this bit is a flag that distinguishes between immediate values and > full objects. This is another of my attempts to kill the 'immediate value' meme in Ruby. Feel free to ignore. I think Ruby's semantics are clearer if you consider that the only 'values' in the language are references. These values reference objects but the objects themselves are not manipulated as values by the language. Some references indicate implicit objects (nil, false, true, fixnums, and symbols) and some references indicate explicit objects (everything else). This differentiation is mostly an implementation detail. This point of view makes assignment and parameter passing semantics consistent regardless of what objects are being referenced. Gary Wright