File: README

package info (click to toggle)
gprolog 1.3.0-6
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 12,708 kB
  • ctags: 8,388
  • sloc: ansic: 57,431; perl: 16,620; sh: 5,900; makefile: 1,284
file content (188 lines) | stat: -rw-r--r-- 5,557 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
                                GNU PROLOG
                                ==========

			      by Daniel Diaz
			   Daniel.Diaz@inria.fr


INTRODUCTION
************

GNU Prolog is a native Prolog compiler with constraint solving over finite
domains (FD) developed by Daniel Diaz (http://loco.inria.fr/~diaz).
Last information can be found at http://www.gnu.org/software/prolog
or better at http://www.gprolog.org.

A lot of work has been devoted to the ISO compatibility. GNU Prolog is very
close to the ISO standard (http://www.logic-programming.org/prolog_std.html).

Here are some features of GNU Prolog:

Prolog system:

   - conforms to the ISO standard for Prolog (integer/floating arithmetic,
     streams, dynamic code, exceptions).
   - clause indexing.
   - a lot of extensions: global variables, definite clause grammars (DCG),
     sockets interface, operating system interface,...
   - more than 300 Prolog built-in predicates.
   - Prolog debugger and a low-level WAM debugger.
   - line editing facility under the interactive interpreter with completion
     on atoms.
   - powerful bidirectional interface between Prolog and C.

Compiler:

   - native-code compiler producing stand alone executables.
   - simple command-line compiler accepting a wide variety of files:
     Prolog files, C files, WAM files,...
   - direct generation of assembly code 15 times faster than wamcc + gcc.
   - most of unused built-in predicates are not linked (to reduce the size
     of the executables).
   - compiled predicates (native-code) as fast as wamcc on average.
   - consulted predicates (byte-code) 5 times faster than wamcc.

Constraint solver:

   - FD variables well integrated into the Prolog environment (full
     compatibility with Prolog variables and
   - integers). No need for explicit FD declarations.
   - very efficient FD solver (comparable to commercial solvers).
   - high-level constraints can be described in terms of simple primitives.
   - a lot of predefined constraints: arithmetic constraints, boolean
     constraints, symbolic constraints, reified constraints,...
   - several predefined enumeration heuristics.
   - the user can define his own new constraints.
   - more than 50 FD built-in constraints/predicates.



PORTS
*****

GNU Prolog is currently ported to the following architectures:

   - ix86 / GNU/Linux
   - ix86 / Win32 using Cygwin (see file src/WINDOWS)
   - ix86 / Win32 using MinGW  (see file src/WINDOWS)
   - ix86 / Win32 using MSVC++ (see file src/WINDOWS)
   - ix86 / SCO
   - ix86 / Solaris
   - ix86 / FreeBSD
   - ix86 / OpenBSD
   - ix86 / NetBSD
   - ix86 / Darwin (Mac OS X)
   - x86_64 / GNU/Linux
   - PowerPC / GNU/Linux
   - PowerPC / Darwin (Mac OS X)
   - PowerPC / NetBSD
   - sparc / SunOS (4.1.3 or higher)
   - sparc / Solaris
   - sparc / NetBSD
   - alpha / GNU/Linux
   - alpha / OSF1
   - mips / irix



INSTALLATION
************

Please refer to the INSTALL file (in the same directory)



USING GNU PROLOG
****************

Be sure that adequate environment variables are set (see INSTALL)

You can then invoke the top-level using:

	gprolog

and the compiler using:

	gplc FILE

The simpliest way to compile a Prolog file 'prog.pl' is then:

	gplc prog.pl

which will produce the executable called prog (use gplc --help to have a
brief overview of available options).

Refer to the documentation for more information (see below).



WINDOWS
*******

In Microsoft Windows if you intend to use the gplc compiler as described in
the documentation you need to ascertain the following conditions are
met:

   - for the port compiled with MS Visual C++ (tested with version
     6.0 and Visual C++ 2005 Express Edition) you'll need to have
     MinGW as.exe (renamed as mingw-as.exe) installed and the cl.exe
     compiler (used mainly as linker by GNU Prolog) available in 
     your session path (alternatively link.exe is used).

   - for the ports compiled either with MinGW or Cygwin, the gcc
     toolchain must be installed and available in your session
     path.

Observing these needs you'll also will be able to do the mixed
language programming, as the examples included in the ExamplesC
directory. However you'll need to write your own Makefile as the one
provided is for gplc calling 'gcc' and the options passed by GNU
Prolog will not work (see file ExamplesC/README).



DOCUMENTATION
*************

The directory doc contains various versions of the manual. Refer to the
file doc/README for more information.

An in-line HTML version can be accessed from the GNU Prolog web page.



WEB
***

The GNU Prolog web site is: http://www.gnu.org/software/prolog/
or also (primary web site): http://www.gprolog.org/



MAILING LIST
************

To communicate with other GNU Prolog users and/or implementors send a mail to
users-prolog@gnu.org. To (un)subscribe to this mailing list send a mail to
users-prolog-request@gnu.org with (un)subscribe in the subject line.



BUGS
****

Please report bugs to bug-prolog@gnu.org. To (un)subscribe to this mailing
list send a mail to bug-prolog-request@gnu.org with (un)subscribe in the
subject line.



COPYING
*******

Because the basic GNU Prolog libraries are released under the GNU
General Public License (GNU GPL), any program recommended for use with
them must be free software and released under a GPL-compatible free
software license, so that the combination can be (as a whole) under
the GNU GPL as well.  For a list of some GPL-compatible free software
licenses, see http://www.gnu.org/philosophy/license-list.html.