package AI::Prolog::Term::Number; $REVISION = '$Id: Number.pm,v 1.3 2005/02/28 02:32:11 ovid Exp $'; $VERSION = '0.1'; @ISA = 'AI::Prolog::Term'; use strict; use warnings; use Scalar::Util qw/looks_like_number/; use aliased 'AI::Prolog::Term'; sub new { my ($proto, $number) = @_; my $self = $proto->SUPER::new($number, 0); $self->{varid} = defined $number && looks_like_number($number) ? $number : 0; return $self; } sub value { shift->{varid} } sub dup { # should this be recast as the parent? my $self = shift; return $self->new($self->{varid}); } 1; __END__ =head1 NAME AI::Prolog::Term::Number - Perl implementation of Prolog numbers. =head1 SYNOPSIS No user serviceable parts inside. You should never be seeing this. =head1 DESCRIPTION See L for more information. If you must know more, there are plenty of comments sprinkled through the code. =head1 SEE ALSO L L L W-Prolog: L X-Prolog: L Roman BartE<225>k's online guide to programming Prolog: L =head1 AUTHOR Curtis "Ovid" Poe, Emoc tod oohay ta eop_divo_sitrucE Reverse the name to email me. =head1 COPYRIGHT AND LICENSE Copyright 2005 by Curtis "Ovid" Poe This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut