NAME
Logic::Kleene - Kleene three-valued logic
REQUIREMENTS
This module requires Perl 5.6.0 or newer. Only core modules are used.
INSTALLATION
Installation can be done using the traditional Makefile.PL or the newer Build.PL method .
Using Makefile.PL:
perl Makefile.PL
make test
make install
(On Windows platforms you should use nmake instead.)
Using Build.PL (if you have Moddule::Build installed):
perl Build.PL
perl Build test
perl Build install
You may see warnings about undefined values during testing. This is normal.
SYNOPSIS
use Logic::Kleene;
$a = !kleene( somefunction() );
if ($a && $b) { ... }
DESCRIPTION
This module implements Kleene three-valued logic via overloading.
The third value is between true and false, and is equivalent to an undefined value (as when a program has not yet returned a value).
The significant different is that the negation of an undefined value is still undefined (and so treated as false). For example,
my $status = kleene(somefunction());
if (!$status) {
print "somefunction failed";
}
If the status value is false, then it will print the failure message, as expected. But if the status is undefined, then it will not print the message.
REVISION HISTORY
The following changes have been made since the last release:
0.05 Thu Jul 28 2005
AUTHOR
Robert Rothenberg <rrwo at cpan.org>
Suggestions and Bug Reporting
Feedback is always welcome. Please use the CPAN Request Tracker at http://rt.cpan.org to submit bug reports.
LICENSE
Copyright (c) 2005 Robert Rothenberg. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.