This and other RFCs are available on the web at
http://dev.perl.org/rfc/
=head1 TITLE
Add 'tristate' pragma to allow undef to take on NULL semantics
=head1 VERSION
Maintainer: Nathan Wiger <[EMAIL PROTECTED]>
Date: 23 Sep 2000
Mailing List: [EMAIL PROTECTED]
Number: 275
Version: 1
Status: Developing
=head1 ABSTRACT
RFC 263 proposed the introduction of a C<null> keyword for introducting
tristate logic into Perl 6. However, that was abandoned in favor of the
approach specified here, a C<tristate> pragma.
=head1 DESCRIPTION
The C<tristate> pragma allows for undef to take on the RDBMS concept of
C<NULL>, in particular:
1. Any math or string operation between a NULL and any other
value results in NULL
2. No NULL value is equal to any other NULL
3. A NULL value is neither defined nor undefined
The C<tristate> pragma is lexically scoped, so that it obeys code
blocks:
$a = undef;
$b = 1;
$c = $a + $b; # 1
{
use tristate;
$d = $a + $b; # undef
}
$e = $c + $d; # 1
For more details on theoretical issues, please see the references or RFC
263.
=head1 IMPLEMENTATION
No idea, too burned out.
=head1 MIGRATION
None, unless some dumbass has a custom C<tristate> module that they
wrote to navigate the tristate area of New York, New Jersey, and
Connecticut. But that should be C<Tristate> anyways.
=head1 REFERENCES
RFC 263: Add null() keyword and fundamental data type
http://www.sitelite.nl/mysql/manual_Problems.html#IDX666
http://www.unb.ca/web/transpo/mynet/mtx19.htm#r2