NAME

Language::Prolog::Types::Factory - Perl extension to construct Prolog types

SYNOPSIS

use Language::Prolog::Types::Factory;
print prolog_functor("hello",2,3,4);
print prolog_list(3,4,5);

etc.

ABSTRACT

Factory module for Prolog terms.

Implements a pluggable interface that lets the constructor functions be changed to use different implementations for the actual prolog terms.

This module should be rarely used, only when interfacing Perl with a different Prolog system if the default representations for Prolog terms are not adecuate.

DESCRIPTION

This module implements a set of constructor functions for Prolog terms.

Internally the module use a factory object implementing new_nil, new_list, new_ulist, new_functor and new_variable. Look at Language::Prolog::Types::Internal for a real implementation of the factory interface.

There is also some intelligency added to the consructors to automatically promote types to others more adecuate. i.e. a '.'/2 functor to a list or [] to nil.

Constructor functions are reexported from Language::Prolog::Types and you should use that module instead of this one.

EXPORT

prolog_nil()

returns nil term.

prolog_list(@terms)

returns a prolog list containing terms <@terms>.

prolog_ulist(@terms, $tail)

returns an unfinished list with terms @terms and tail $tail.

prolog_functor($name, @terms)

returns a functor with name $name and arguments @terms.

prolog_variable($name) =item prolog_var($name)

return a new varaible with name $name

prolog_atom($atom)

Is not a contructor but converts any perl construct $atom to an atom.

prolog_string($string)

returns a prolog list formed by the ASCII values of $string.

SEE ALSO

Language::Prolog::Types, Language::Prolog::Types::Internal and Language::Prolog::Types::Abstract.

AUTHOR

Salvador Fandiño, <sfandino@yahoo.com>

COPYRIGHT AND LICENSE

Copyright 2002 by Salvador Fandiño

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 183:

Non-ASCII character seen before =encoding in 'Fandiño,'. Assuming CP1252