On Wednesday 25 July 2007 00:27:40 Andy Lester wrote:

> >> Because PMCNULL can be (PMC)NULL or it can be PMCNULL, a special non-
> >> null variable.
> >>
> >> See how it's defined in the header.
> >
> > I thought we fixed it.  Let's fix it.
>
> I don't know what the broken is.  We don't want a special PMCNULL
> value?  What is the backstory on PMCNULL?

PMCNULL is a singleton Null PMC.  It's good.  We like it.  Hooray for PMCNULL.

Allowing PMC_IS_NULL to take Maybe NULL PMCNULL sucks though.  PMCNULL should 
be the only way to have a null PMC.  (Why?  Because if we perform any action 
on PMCNULL, we'll get a sensible error -- "HEY bucko, you have a Null PMC 
here!"  If we perform any action on NULL, we'll get an insensible 
error -- "CRASHY CRASHY!" at best, and "Wow!  I'm way over HERE in memory now 
and this doesn't LOOK like a PMC, but I'll just follow THIS random memory 
because it's where that pointer would be if this were a PMC and CRASHY CRASHY 
elsewhere.")

-- c

Reply via email to