[1-5] FTP Archives and Other Resources
The following are achives that contain Prolog-related material, such as
code, interpreters, articles, etc. Most of the archives are ftp sites.
They are listed by domain.name and [IP Address]. To access them and
download programs type at the prompt:
ftp <site name> (or IP address)
login: "anonymous",
password: your own return email address,
cd <directory>, ls to see files,
set binary,
get <filename> to transfer file to your system
stop with quit or exit
Deviations from this general scheme may occur but the above should
work in most cases.
CMU AI Repository, Prolog Section:
The Prolog Section of the CMU Artificial Intelligence Repository
(aka "The Prolog Repository") is accessible by anonymous ftp to
ftp.cs.cmu.edu:/user/ai/lang/prolog/ [128.2.206.173]
through the AFS directory
/afs/cs.cmu.edu/project/ai-repository/ai/lang/prolog/
or by WWW from the URL
http://www.cs.cmu.edu/Web/Groups/AI/html/repository.html
and includes more than 110 megabytes of sources and other materials
of interest to Prolog programmers, including all freely
distributable implementations and many programs. The contents of the
CMU AI Repository has been keyword indexed to provide convenient
browsing of the contents.
The repository has standardized on using 'tar' for producing
archives of files and 'gzip' for compression.
To search the keyword index by mail, send a message to:
ai+query@cs.cmu.edu
with one or more lines containing calls to the keys command, such as:
keys prolog gui
in the message body. Keywords may be regular expressions and are
compared with the index in a case-insensitive conjunctive fashion.
You'll get a response by return mail. Do not include anything else in
the Subject line of the message or in the message body. For help on
the query mail server, include:
help
instead.
A Mosaic interface to the keyword searching program is in the
works. We also plan to make the source code (including indexes) to
this program available, as soon as it is stable.
Most of the Prolog Section of the AI Repository appears on Prime Time
Freeware for AI, Issue 1-1, a mixed-media book/CD-ROM publication. It
includes two ISO-9660 CD-ROMs bound into a 224 page book and sells
(list) for US$60 plus applicable sales tax and shipping and handling
charges. Payable through Visa, Mastercard, postal money orders in US
funds, and checks in US funds drawn on a US bank. For more
information write to Prime Time Freeware, 370 Altair Way, Suite 150,
Sunnyvale, CA 94086 USA, call 408-433-9662, 408-433-0727 (fax),
or send email to ptf@cfcl.com.
Contributions of software and other materials are always welcome but
must be accompanied by an unambiguous copyright statement that grants
permission for free use, copying, and distribution -- either a
declaration by the author that the materials are in the public domain,
that the materials are subject to the GNU General Public License (cite
version), or that the materials are subject to copyright, but the
copyright holder grants permission for free use, copying, and
distribution. (We will tell you if the copying permissions are too
restrictive for us to include the materials in the repository.)
Inclusion of materials in the repository does not modify their
copyright status in any way. Materials may be placed in:
ftp.cs.cmu.edu:/user/ai/new/
When you put anything in this directory, please send mail to
ai+contrib@cs.cmu.edu
giving us permission to distribute the files, and state whether
this permission is just for the AI Repository, or also includes
publication on the CD-ROM version (Prime Time Freeware for AI).
We would also appreciate if you would include a 0.doc file for your
package; see /user/ai/new/package.doc for a template. (If you don't
have the time to write your own, we can write it for you based on
the information in your package.)
The Prolog Section of the AI Repository is maintained by Mark Kantrowitz
<AI.Repository@cs.cmu.edu>.
Artificial Intelligence Programs:
ai.uga.edu:/pub/ [128.192.12.9]
The University of Georgia AI FTP Library contains public domain
Prologs, such as Open Prolog and ESL PD Prolog, PrEd (a small text
editor for Prolog), and some miscellaneous prolog programs in
ai.uga.edu:/pub/prolog/
A copy of the programs from the book by Covington, Nute, and Vellino, (see
the section on Books below), is in
ai.uga.edu:/pub/prolog.book/
and the draft ISO standard for prolog is in
ai.uga.edu:/pub/prolog.standard/
Some technical reports with accompanying code are in
ai.uga.edu:/pub/ai.reports/
Other materials of interest are in
ai.uga.edu:/pub/natural.language/
ai.uga.edu:/pub/natural.language.book/
Maintained by Michael Covington <mcovingt@ai.uga.edu>.
ALE:
ALE (Attribute Logic Engine), a freeware system written in
Prolog, integrates phrase structure parsing and constraint logic
programming with typed feature structures as terms. Types are
arranged in an inheritance hierarchy and specified for the features
and value types for which they are appropriate. Grammars may also
interleave unification steps with logic program goal calls (as can be
done in DCGs), thus allowing parsing to be interleaved with other
system components. While ALE was developed to handle HPSG grammars,
it can also execute PATR-II grammars, DCG grammars, Prolog, Prolog-II,
and LOGIN programs, etc. Grammars and programs are specified with a
version of Rounds-Kasper Attribute Value Logic with macros and
variables. ALE supports lexical rules and empty categories for
grammars, using a bottom-up, all-paths dynamic chart parser. ALE
supports last call optimization, negation by failure and cuts in
definite clauses, which may be used independently or integrated into
grammars. The system is distributed with several sample grammars,
including a fairly comprehensive implementation of a head-driven
phrase structure grammar for English. Version 2.0 of ALE is
available free for research purposes by anonymous ftp from
j.gp.cs.cmu.edu:/usr1/carp/ftp/
as the files ale.*, or from the CMU AI Repository in
ftp.cs.cmu.edu:/user/ai/lang/prolog/code/parsing/ale/
For more information write to Bob Carpenter <carp@lcl.cmu.edu> or
Gerald Penn <penn@lcl.cmu.edu>.
ALP-UK Library:
The best Prolog library currently is the one collected by the ALP-UK
group. It is available to members at 30 pounds sterling for a Sun
cartridge or 2 pounds/IBM DOS disk. (non-members maybe, how much?) It
contains MBs of Prolog systems (including SB Prolog), libraries
(including the Edinburgh library), benchmarks, grammars, theorem provers,
object and graphics systems etc. For more information, write to ALP-UK
Library, Sanjay Raina, Librarian, Dept. of Computer Science, University
of Bristol, University Walk, Bristol BS8 1TR, UK, call +44 0272 303030
x3304, or send email to raina@compsci.bristol.ac.uk.
CASLOG
CASLOG (Complexity Analysis System for LOGic) is an experimental
semi-automatic complexity analysis system for logic programs. It can
perform the worst-case analysis for complexity measures: argument size
complexity, number of solutions complexity, and time complexity.
CASLOG extends the techniques developed for analyzing imperative and
functional languages to deal with nondeterminism and generation of
multiple solutions via backtracking in logic languages. The analyses
for different complexity measures are implemented in a unified
framework and share several common features. First, the predicates in
a program are processed in an order generated by a bottom-up
topological sorting over the call graph of the program. Second, the
complexity function for a predicate is derived from the complexity
function of its clauses by using the information about the mutual
exclusion relationships between its clauses. Third, the complexity
function for a clause is inferred based on the data dependency
relationships between its literals. Fourth, the complexity functions
for recursive clauses are in the form of difference equations and are
transformed into closed form functions using difference equation
solving techniques. This unified framework can simplify proofs of
correctness and the implementation of the algorithms.
CASLOG is available by anonymous ftp from cs.arizona.edu:/caslog/. This
is an alpha distribution, and includes CASLOG version 1.0, a
preliminary user manual, a paper on CASLOG, and a set of examples.
For more information, contact Nai-Wei Lin <naiwei@cs.arizona.edu>.
Constraint Programming Paper Archive:
Aarhus University, Denmark, has established an anonymous ftp archive
for papers on "Constraint Programming" at ftp.daimi.aau.dk:/pub/CLP/.
For further information, contact Brian H. Mayoh <brian@daimi.aau.dk>.
CSP:
Some constraint-related papers by a research group at the
University of Washington are available by anonymous ftp from
june.cs.washington.edu:/pub/constraints/papers/
The papers from the 1994 Principles and Practice of Constraint
Programming Workshop are available in
june.cs.washington.edu:/pub/constraints/papers/ppcp94/
There are also implementations of several constraint satisfaction
algorithms and constraint-based systems, including the DeltaBlue and
SkyBlue algorithms, the Multi-Garnet user interface toolkit, ThingLab
II, and CoolDraw (a constraint-based drawing system), in
subdirectories of
june.cs.washington.edu:/pub/constraints/code/
The ftp archive is also accessible via WWW:
http://web.cs.city.ac.uk/archive/constraints/constraints.html
All the source code is in the public domain. For more information,
write to Alan Borning <borning@geoduck.cs.washington.edu>.
C implementations of a number of constraint satisfaction algorithms
are available by anonymous ftp from
ftp.cs.ualberta.ca:/pub/ai/csp/
Get the files README and csplib.tar.Z. The algorithms include
variations on backtracking (backjumping, backmarking, chronological
backtracking, etc.), local consistency preprocessing algorithms (e.g.,
arc consistency), and random problem generators. For more information,
write to Peter van Beek <vanbeek@cs.ualberta.ca>.
Eden:
Eden is a Poplog-based AI microworld developed by Simon Perkins,
Jocelyn Paine and Edmund Chattoe of the Oxford University Artificial
Intelligence Society. It is intended to serve as a testbed for
learning and planning programs. Programs written in Pop-11, Prolog,
Lisp, and ML control a "bug" that lives in a 2-dimensional world. Any
kind of algorithm may be used to control the bug, including genetic
algorithms, neural nets, and rule-based systems. Eden consists of a
grid of cells, each of which can contain objects such as keys, doors,
boulders and quicksand. Bug's objective is to find and eat a piece of
food which the simulator has placed somewhere within this grid. To do
this, Bug must negotiate its way towards the food while dealing
intelligently with obstacles. Eden's laws of physics allow Bug to take
one of several different actions when it encounters an object. The
simulator then works out the consequences of the chosen action on Bug
and on Eden, and displays these graphically in a Ved window. Bug's
perceptions are updated to reflect the new state of the world, and the
cycle repeats. Eden is available by anonymous ftp from the Imperial
College archive in
src.doc.ic.ac.uk:/packages/prolog-pd-software/ [146.169.2.10]
as the file eden.tar.Z. (Note: This is really a link to the
directory computing/programming/languages/prolog/pd-software/.)
Eden includes PopBeast, a simple Prolog bug which can read and
parse simple commands, extract their meaning, plan how to satisfy
these commands, and then carry out the plans.
Parts of the current Eden are coded in Pop-11, so porting it to
Prologs other than Poplog will require some effort. Most of the
recoding needed is in the grid-world simulator and the definition of
objects. Send mail to Jocelyn Paine <popx@vax.oxford.ac.uk> if
you're willing to try this.
FW_Rules:
FW_RULES is a Sicstus Prolog library providing a compiler for forward
chaining rules. The implementation is based on a non-state saving
technique coupled with an indexing mechanism on the working memory
based on C bitwise operations to achieve efficiency. The library
supports interoperability between the forward chaining language and
the underlying Prolog engine. Terms in the working memory are
represented as Prolog facts and can be accessed from Prolog to perform
deduction. It is available by anonymous FTP from
ftp.cs.unibo.it:/pub/gaspari/fw_rules/
as the files README and fw_rules.tar.Z. For more information,
please write to Mauro Gaspari <gaspari@cs.unibo.it>.
HDRUG:
Hdrug is an environment to develop logic grammars, parsers, and
generators for natural languages. The package comes with a number of
example grammars, including a Categorial Grammar, a Tree Adjoining
Grammar, a Unification Grammar in the spirit of Head-driven Phrase
Structure Grammar, an Extraposition Grammar, a Definite Clause
Grammar, and a port of the HPSG grammar from Bob Carpenter's ALE
system. Each of the grammars comes with a set of parsers, such as
Earley-like chart parsers, left-corner parsers and head-driven
parsers. Some grammars come with variants of the head-driven
generator. The package allows easy comparison of different
parsers/generators, extensive possibilities of compiling feature
equations into Prolog terms, graphical (Tk), LaTeX and ordinary Prolog
output of trees, feature structures and Prolog terms, and plotted
graphs and tables of statistical information. Hdrug runs in Sicstus
Prolog and requires ProTcl and Tcl/Tk. It is available by anonymous
FTP from
tyr.let.rug.nl:/pub/prolog-app/Hdrug/
or by WWW from
http://tyr.let.rug.nl/~vannoord/prolog-app/Hdrug/
For more information, write to Gertjan van Noord <vannoord@let.rug.nl>.
Logic Programming Bibliographies:
duck.dfki.uni-sb.de:/pub/lp-proceedings/ [134.96.188.92]
The ftp server supports tar'ing on the fly, so if you type "get
bibtex.tar" you will get a tar'ed version of the "bibtex" directory.
BibTeX entries for the proceedings of the following conferences
are included: SLP84-87,91, NACLP89-90, ILPS91, ICLP82,84,86-91,93,
JICLP92, LP88, RTA89,93, PLILP90-92, ALPUK91, ICOT92, ALP90,92,
CADE90,92, CTRS90,92, LICS86-91, UNIF89, EPIA89,91,93, TACS91,
TAPSOFT93, EAIA90, FGCS92, FAC, ILPS93, PEPM91,93
and the following journals: JLP85-93, JAR91-93, JSC91-93, IANDC82-92.
The bibliography is mirrored by the Universidade Nova de Lisboa.
In addition, the bibliography can be searched using either WAIS or
GOPHER. To search the lp-proceedings using WAIS, use the
lp-proceedings.src
wais source, available from the directory of servers. To search the
lp-proceedings using GOPHER, point the client to gopher.fct.unl.pt,
and follow the directories
"Research/Bibliography/Logic Programming Proceedings".
Searching should be easier than retrieving the entire package every
time you want to locate a particular article.
Send comments and bug reports to rscheidhauer@dfki.uni-sb.de.
Machine Learning Algorithms Implemented in Prolog:
In 1988 the Special Interest Group on Machine Learning of the German
Society for Computer Science (GI e.V.) decided to establish a library
of PROLOG implementations of Machine Learning algorithms. The library
includes - amongst others - PROLOG implementations of Winston's arch,
Becker's AQ-PROLOG, Fisher's COBWEB, Brazdil's generation of
discriminations from derivation trees, Quinlan's ID3, FOIL, IDT,
substitution matching, explanation based generalization, inverse
resolution, and Mitchell's version spaces algorithm.
All algorithms are written in Edinburgh Prolog syntax. Most of the
algorithms are copyleft under the GNU General Public License.
The programs are currently available via anonymous ftp-server from
the GMD:
ftp.gmd.de:/gmd/mlt/ML-Program-Library/ [129.26.8.84]
They are also available by surface mail from Thomas Hoppe,
Projektgruppe KIT, Technische Universitaet Berlin, Franklinstr. 28/29,
10629 Berlin, Germany. Files will be distributed via MS-DOS formated
3.5 inch floppy (double, high and extra-high density), which should
be included with your request. You can also get them by sending an email
message to Thomas Hoppe (see below).
Send additional PROLOG implementations of Machine Learning
Algorithms, complaints about them and detected bugs or problems
to Thomas Hoppe, <hoppet@cs.tu-berlin.de>. Send suggestions and
complaints about the ftp library to Werner Emde, Gesellschaft
fuer Mathematik und Datenverarbeitung, Bonn, <emde@gmd.de>.
Natural Language Processing in Prolog:
The Prolog and DCG programs from Pereira and Shieber's book, "Prolog
and Natural Language Analysis", are available by anonymous ftp from
ftp.das.harvard.edu:/pub/shieber/pnla/. See the file README for the
conditions under which the material is distributed. If you retrieve
the files, please send an email message to the authors letting them
know how you plan to use them. For further information, write to
Fernando Pereira <pereira@research.att.com> or Stuart Shieber
<shieber@das.harvard.edu>.
Parser:
A parser for standard Prolog text written in C is available by
anonymous ftp from
trappist.elis.rug.ac.be:/pub/prolog/
It consists of only three modules (tokenizer, parser, and display
routine) and an interface module to integrate it with an existing
Prolog system. It is completely deterministic and about 10 times
faster than O'Keefe's public domain parser written in Prolog.
For more information, write to Koen De Bosschere <kdb@elis.rug.ac.be>.
Partial Evaluation:
Prolog code for the partial evaluator for the flowchart language
described in Ch. 4 of "Partial Evaluation and Automatic Program
Generation" by Jones, Gomard and Sestoft is available for anonymous
ftp from
ftp.diku.dk:/pub/diku/dists/jones-book/ch4_pl.tar.Z
All three Futamura projections are implemented. The code has been
tested under SWI Prolog 1.5 and 1.7 and should hopefully port to other
prologs without too many problems. For more information, please
contact Zerksis Umrigar <umrigar@cs.binghamton.edu>.
Pleuk Grammar Development System:
Pleuk is intended to be a shell for grammar development, in that many
different grammatical formalisms can be embedded within it.
Grammatical formalisms that currently work with Pleuk include CFG (a
simple context-free grammar system), HPSG-PL (a system for developing
HPSG-style grammars, produced at Simon Fraser University, Canada, by
Fred Popowich, Sandi Kodric and Carl Vogel), Mike (a simple
graph-based unification system, enhanced with additional operations
for the treatment of free word order proposed by Mike Reape in various
publications), SLE (a graph-based formalism enhanced with arbitrary
relations in the manner of Johnson & Rosner and Doerre & Eisele.
Delayed evaluation is used to compute infinite relations. This system
has been used for the development of several HPSG-style grammars) and
Term (a term-based unification grammar system, originally developed
for the support of Unification Categorial Grammar of Zeevat, Klein and
Calder). Sample grammars are provided for all of these formalisms.
Work continues apace on other formalisms, including Bob Carpenter's
Ale system for typed feature structures, and Veronica Dahl's Static
Discontinuity Grammars.
Pleuk requires SICStus prolog version 2.1#6 or later, plus a variety
of ancillary programs available free of charge from many FTP servers.
Pleuk is available via anonymous FTP from the University of Georgia
Artificial Intelligence FTP library
ai.uga.edu:/pub/natural.language/
as the files pleuk.1.0.tar.Z, pleuk.PSmanuals.tar.Z, and pleuk.README.
Pleuk will also be available shortly from the Natural Language
Software Registry, German Research Institute for Artificial
Intelligence (DKFI), Saarbruecken. For more information, send email
to pleuk@cogsci.ed.ac.uk.
Prolog Repository:
Established by Jocelyn Paine of Experimental Psychology, Oxford
University in 1987. The current catalogue (January 1991) contains
30 entries. For catalogue, queries and contributions contact POPX at:
popx%vax.ox.ac.uk@oxmail.ox.ac.uk (internet) or
popx@uk.ac.ox.vax (janet)
FTP access is available through the Imperial College archive at
src.doc.ic.ac.uk:/packages/prolog-pd-software/ [146.169.2.10]
This is actually a link to the directory
/computing/programming/languages/prolog/pd-software/
To access it, cd to either of the above directories via
anonymous ftp. The file README gives a brief summary of the
contents of the directory and CATALOGUE gives a (long!)
description of each entry. Entries include the Logic Programming
Tutor from Paine's book, the DEC-10 public-domain library, the
Linger natural-language corrector, a simple object-oriented
add-on for Prolog, graph utilities, among other things.
Files in the archive are also available on MS-DOS floppies for a
nominal fee to cover the cost of floppies, postage, and packing.
Prolog to SQL Compiler:
The Prolog to SQL Compiler translates database access requests,
which consist of a projection term and a database goal, to the
appropriate SQL query. The compiler is written in standard Edinburgh
Prolog and has been ported to a number of Prologs. The code posted to
comp.lang.prolog works in ECRC's SEPIA Prolog, but should be easily
ported to other Prologs. A detailed tech report on the implementation
is available by email from draxler@cis.uni-muenchen.de (include
your full postal address). The compiler is copyright, but may be used
free of charge for non-commercial purposes and redistributed provided
the copyright notice is retained intact.
PSI:
PSI is a handy system for the management and retrieval of your
personal data, be it addresses, CD collections, or bibliographic
references. It is intended for the non-commercial user. It may not be
as full-fledged as some data-base systems, but has some features that
you won't find in most commercial systems. Also, you may find it
easier to set up and faster to use. PSI is useful for a broad range of
data. Indexing with descriptors makes searching for the data you need
fast, and the interface to other data-base formats (import and export)
is quite powerful. PSI was written in LPA MacProlog and is a "genuine
'double clickable' Mac application". PSI runs on all Macs with System
6 or 7 in 1MB of main memory. As LPA MacProlog isn't yet 32-bit clean,
PSI isn't either. Extensive documentation and some examples are
included. PSI is available by anonymous ftp from
sumex-aim.stanford.edu:/info-mac/app/ as the file psi-23.hqx. It
was also available on a recent Nautilus CD-ROM and will be on the
first Info-Mac CD-ROM.
Queens and Knights:
Queens and Knights are favorite problems for Prolog programmers.
A collection of several implementations is available by anonymous
ftp from sics.se:/pub/muse/queensANDknights.tar.Z.uue
Write to Roland Karlsson <roland@sics.se> for more information.
Rubik's Cube:
Amzi! Inc., the creators of Cogent Prolog, have made sources to Cube Solver
II available from their ftp site, ftp.std.com:/vendors/amzi/. It is
also available from the Prolog Repository at CMU, in
ftp.cs.cmu.edu:/user/ai/lang/prolog/code/fun/rubik/. This Prolog
program solves Rubik's Cube. The sources include a simple scrolling
interface that should work in any Edinburgh standard Prolog. Also
included is a ready-made executable for 386 and 486 PCs; it was
implemented using Cogent Prolog. For more information, write to Amzi!
Inc. (formerly Amziod) <amzi@world.std.com>, 40 Samuel Prescott Dr.,
Stow, MA 01775, Tel: 508-897-7332. Fax: 508-897-2784. Their Web page is
http://world.std.com/~amzi/
SEL:
SEL is a declarative set processing language. Its main features are
subset and equational program clauses, pattern matching over sets,
support for efficient iteration and point-wise/incremental computation
over sets, the ability to define transitive closures through circular
constraints, meta-programming and simple higher-order programming, and
a modest user-interface including tracing. The language seems
well-suited to a number of problems in graph theory, program analysis,
and discrete mathematics. The SEL compiler is written in Quintus
Prolog and the run-time system is written in C. It generates WAM-like
code, extended to deal with set-matching, memoization, and the novel
control structure of the language. SEL is available by anonymous FTP
from ftp.cs.buffalo.edu:/users/bharat/SEL2/. The FTP release comes with a
user manual, bibliography of papers (including .dvi files), several
sample programs, and source code. For further information, write to
Bharat Jayaraman <bharat@cs.buffalo.edu>.
A public-domain WAM emulator, written in C++ by Herve Touati, is
available by anonymous FTP from gatekeeper.dec.com:/pub/plan/prolog/ucb/.
Go Back Up
Go To Previous
Go To Next