AI::Prolog::Term::Number - Perl implementation of Prolog numbers.


AI-Prolog documentation Contained in the AI-Prolog distribution.

Index


Code Index:

NAME

Top

AI::Prolog::Term::Number - Perl implementation of Prolog numbers.

SYNOPSIS

Top

No user serviceable parts inside. You should never be seeing this.

DESCRIPTION

Top

See AI::Prolog for more information. If you must know more, there are plenty of comments sprinkled through the code.

SEE ALSO

Top

AI::Prolog

AI::Prolog::Introduction

AI::Prolog::Builtins

W-Prolog: http://goanna.cs.rmit.edu.au/~winikoff/wp/

X-Prolog: http://www.iro.umontreal.ca/~vaucher/XProlog/

Roman Bart&225;k's online guide to programming Prolog: http://kti.ms.mff.cuni.cz/~bartak/prolog/index.html

AUTHOR

Top

Curtis "Ovid" Poe, <moc tod oohay ta eop_divo_sitruc>

Reverse the name to email me.

COPYRIGHT AND LICENSE

Top


AI-Prolog documentation Contained in the AI-Prolog distribution.

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__