[M3devel] small objects

hendrik at topoi.pooq.com hendrik at topoi.pooq.com
Wed Apr 8 05:38:04 CEST 2009


On Tue, Apr 07, 2009 at 12:03:35PM +1000, Tony Hosking wrote:
> On 7 Apr 2009, at 06:03, Mika Nystrom wrote:
> >
> >Yes I think maybe this is what Tony is worried about.  But let's
> >just change the definition of REFANY to include anything with the
> >LSB set...?
> 
> But then a "NULL" check needs to both test for zero and test for lsb  
> set.  I am not comfortable with this.

Nor am I, for both efficiency and conceptual reasons.  AN INTEGER isn't 
a reference, and we shouldn't treat it as if it were.  So I'd like a 
separate type.

REFANY is for references.  It's bad enough that NIL is in there, too.
Except for major incompatibility with almost all past software, I'd like 
to consider having separate types for pointers that can be NIL and 
those that can't.  But that's too much a deviation from the existing 
language (and cause all kinds of troubles with variables that are 
declared before they are initialised, a discussion I've had here 
sometime last year).

-- hendrik.



More information about the M3devel mailing list