> : For example, if your struct eventually needs more than
> : 32 flags, can it be gracefully expanded to more than a single word of
> : flags? Bear in mind that there may be code in other people's Perl
> : extensions and code that Perl itself is embedded in, all of which
> : may be using your stuff. Or there may be other distributions of Perl
> : using your code. You may find it rather difficult to persuade all these
> : other programmers to modify their code due to your lack of foresight.
> 
> Given this sort of directive, many programmers would go off and invent
> a general property system that is completely general and runs like a
> dog.  I guess the real problem here is that we aren't saying what

To make a preëmptive strike on this we need to have a general property
system API in the language itself.  Hey, wait...

> *kinds* of assumptions are bad.  One of the assumptions we need to
> avoid is that abstractions in the compiler are necessarily reflected in
> complications at runtime.  Using the example given, if you need more
> than 32 flags, and you've abstracted your flags with macros, then it's

Macrofication gives us source level comfort but I think the point here
was more in the area binary compatibility.  Both nice things.

> pretty simple to redirect some of the flags to a different flag word
> without introducing a level of indirection at run-time.
> 
> Sorry, I know this point is actually balanced out later in the document,
> but it hit a hot button.

-- 
$jhi++; # http://www.iki.fi/jhi/
        # There is this special biologist word we use for 'stable'.
        # It is 'dead'. -- Jack Cohen

Reply via email to