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