1Language::Prolog::TypesU:s:eFracCtoonrtyr(i3b)uted PerlLDaoncguumaegnet:a:tPiroonlog::Types::Factory(3)
2
3
4
6 Language::Prolog::Types::Factory - Perl extension to construct Prolog
7 types
8
10 use Language::Prolog::Types::Factory;
11 print prolog_functor("hello",2,3,4);
12 print prolog_list(3,4,5);
13
14 etc.
15
17 Factory module for Prolog terms.
18
19 Implements a pluggable interface that lets the constructor functions be
20 changed to use different implementations for the actual prolog terms.
21
22 This module should be rarely used, only when interfacing Perl with a
23 different Prolog system if the default representations for Prolog terms
24 are not adecuate.
25
27 This module implements a set of constructor functions for Prolog terms.
28
29 Internally the module use a factory object implementing "new_nil",
30 "new_list", "new_ulist", "new_functor" and "new_variable". Look at
31 Language::Prolog::Types::Internal for a real implementation of the
32 factory interface.
33
34 There is also some intelligency added to the consructors to
35 automatically promote types to others more adecuate. i.e. a '.'/2
36 functor to a list or [] to nil.
37
38 Constructor functions are reexported from Language::Prolog::Types and
39 you should use that module instead of this one.
40
41 EXPORT
42 prolog_nil()
43 returns nil term.
44
45 prolog_list(@terms)
46 returns a prolog list containing terms <@terms>.
47
48 prolog_ulist(@terms, $tail)
49 returns an unfinished list with terms @terms and tail $tail.
50
51 prolog_functor($name, @terms)
52 returns a functor with name $name and arguments @terms.
53
54 prolog_variable($name) =item prolog_var($name)
55 return a new varaible with name $name
56
57 prolog_atom($atom)
58 Is not a contructor but converts any perl construct $atom to an
59 atom.
60
61 prolog_string($string)
62 returns a prolog list formed by the ASCII values of $string.
63
65 Language::Prolog::Types, Language::Prolog::Types::Internal and
66 Language::Prolog::Types::Abstract.
67
69 Salvador Fandiño, <sfandino@yahoo.com>
70
72 Copyright 2002 by Salvador Fandiño
73
74 This library is free software; you can redistribute it and/or modify it
75 under the same terms as Perl itself.
76
78 Hey! The above document had some coding errors, which are explained
79 below:
80
81 Around line 183:
82 Non-ASCII character seen before =encoding in 'Fandiño,'. Assuming
83 CP1252
84
85
86
87perl v5.32.1 2021-01-27Language::Prolog::Types::Factory(3)