Sunday, July 6, 2008

Get Started With Prolog

Prolog - Wikipedia, the free encyclopedia:
As usual, a good place will always be to go visit wikipedia and search for whatever it is you're looking for. This page includes all starting information you need to know about Prolog before you go search for any other resource.

prolog :- tutorial
A very neat and full of examples tutorial by J.R. Fisher on the Prolog programming language. Excellent place to begin learning prolog hands-on approach

ISO 13211-1:1995 - The ISO Standard for Prolog
For those interested in the ISO standard for Prolog, this is the official place to go. However, the ISO standards are only sold on this site!
Instead, you can go here to find some description on the standard, this time for free!
This site contains the December 1991 draft, the March 1993 draft, Richard O'Keefe's 1984 Prolog standard draft, and Michael Covington's summary of the standard. Note that no one at that site can answer any questions about the standard; it is just an FTP site for the standard in the USA.

FAQ - comp.lang.prolog
An extensive FAQ on Prolog, available in different formats (PDF, HTML, Text, SGML, Sources)
Look at this question on the HTML version of the FAQ, it will contain a list of where you can get a free Prolog compiler.

Online guide to Prolog Programming
This is a Prolog book/guide with a very distinguished idea that I personally liked very much, which is the "Test Zone" which is a java applet where you can test your samples and code. The site and guide is designed and written by an Associate Professor at Charles University, Prague, Roman Barták. I like this very much. It's also very useful of course!

Building Expert Systems in Prolog
A good old fashioned book in Prolog of 12 chapters ending with the Rubik's Cube solving expert system. The book is well organized, have many examples, and very useful.

You'll also find a lot of useful links in the Wikipedia page for Prolog, so really start there in any case. I included an extract from the comp.lang.prolog FAQ which is a list of places you can get a free Prolog:

ALF (Albgebraic Logic Functional language)
Platforms: UNIX
Available: Unknown
E-mail: Rudolf Opalla
Info: WAM-based language with narrowing/rewriting
Amzi! Prolog + Logic Server
Platforms: Window, Linux and Solaris
Available: http://www.amzi.com/download/
E-mail:
Info: Registration is compulsory, except for the Free Academic/Personal/Evaluation License.
Aquarius Prolog 1.0
Platforms: UNIX
Available: http://www.info.ucl.ac.be/people/PVR/aquarius.html
Info: High performance, commercial functionality except debugging and modules.
Argo Prolog v.1.1
Platforms: Solaris 1.x and HP-UX 9.x
Available: Unknown
Contact: Takao Doi
Arity/Prolog32
Platforms: Win32
Available: http://www.arity.com/www.pl/products/ap.htm
Info: Arity/Prolog32 provides a complete Prolog programming environment in which you can write, debug, and run Prolog programs in 32-bit Windows environments (95/98/NT/2000). Arity/Prolog32 is a powerful, highly optimized, and extended version of the logic programming language Prolog. Arity/Prolog32 is a complete compiler and interpreter written in Prolog, C, and Assembly language and is a superset of Clocksin and Mellish Prolog.
B-Prolog 4.0
Platforms: Win32, Solaris, SunOS, UNIX, FreeBSD and Linux
Available: http://www.probp.com/
E-mail: Neng-Fa Zhou
Info: Freely available for non-commercial use. For other use a license is needed.
BinProlog 7.0
Platforms: Windows 95/98/NT, Linux and all major Unix platforms.
Available: http://www.binnetcorp.com/BinProlog/
E-mail: Paul Tarau
Info: Download free evaluation copies and see online demos. Inexpensive Educational licensing available.Has built-in networking, multi-threading, mobile code and distributed blackboards. Supports BinNet Internet Programming Tool kit (see http://www.binnetcorp.com/Internet).
Brain Aid Prolog (BAP) v1.4
Platforms: Transputer systems
Available: http://www.comnets.rwth-aachen.de/~ost/private.html
Info: BAP is a parallel prolog system for Transputer systems. Available under a Berkely style of copyright.
C#Prolog
Platforms: Win32, UNIX
Available: http://sourceforge.net/projects/cs-prolog/
E-mail: John Pool
Info: A Prolog interpreter written in C#. Can easily be integrated in C# programs. Characteristics: reliable and quite fast beta version, command line interface, builtin DCG, XML-predicates, persistent predicates (using Firebird RDBMS), extendible.
Ciao 1.4
Platforms: Linux, Win32 (95/98/NT), Solaris, SunOS, UNIX in general.
Available: http://www.clip.dia.fi.upm.es/Software/Ciao
E-mail: Developers , Users
Info: Next generation LP/CLP system. Commercial functionality, but freely available w/source. ISO-Prolog + modules, networking, multi-threading, clp(r), clp(q), interfaces (Java, C, tcltk, WWW, databases/ODBC, ...), functions, higher-order, records, persistence, objects, assertions (types, modes, ...), source debugger, auto-documenter, static debugger, and more.
clp(FD)
Platforms: UNIX
Available: anonymous FTP from ftp://ftp.inria.fr/INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/clp_fd
Contact: Daniel Diaz
Info: Constraint logic programming over finite domains. Requires GNU C v.2.4.5 or higher.
clp(FD,S)
Platforms: UNIX
Available: http://contraintes.inria.fr/~georget/software/clp_fds/clp_fds.html
Contact: Yan Georget
Info: Requires GNU C (gcc) version 2.4.5. or higher.
CLP(R)
Platforms: UNIX
Available: E-mail request from Joxan Jaffar .
Info: Constraint logic programming language, for academic and research purposes only.
ECLiPSe Constraint Logic Programming System, subsuming Prolog.
Platforms: Solaris, Linux, Linux/Alpha, Mac OS X, Windows
Available: http://www.eclipse-clp.org/ or http://www.sourceforge.net/projects/eclipse-clp
Info: ECLiPSe is a Prolog and Constraint Programming platform with a long history and has been open-sourced in Sept 2006.
License: MPL
IF Prolog V5.3
Platforms: Windows 95/98/NT/2000/XP, Linux, Solaris, AIX, HP-UX and other UNIX platforms
Available: http://www.ifcomputer.de/Products/Prolog/
E-mail:
Info: IF Prolog is a commercial Prolog system with interfaces to C/C++, Java, sockets, Windows events and a COM servers. A graphical debugger allows step-forward, step backward debugging of Prolog code. A static module concept allows many additional errors to be detected at compile time. Constraint Programming (for finite domains, intervals and booleans using global constraints and linear optimisation).
License: Free evaluation copies and inexpensive educational licensing available.
GNU Prolog
Platforms: Many Unixes, Windows, MacOS X
Available: http://gnu-prolog.inria.fr/
E-mail: Daniel Diaz
Jinni 2.27
Platforms: Java-based
Available: http://www.binnetcorp.com/Jinni
Info: Multi-threaded, Java based Prolog interpreter with built-in networking, distributed blackboards and mobile code (inexpensive shareware licensing available).
JIProlog
Platforms: Java-based
Available: http://www.ugosweb.com/jiprolog
Info: Java Internet Prolog is a cross-platform pure Java 100% prolog interpreter that supplies Java world with the power of prolog language and provides prolog language with a technology to implement new predicates in Java.
KLIC
Platforms: UNIX
Available: Anonymous FTP from ftp://ftp.icot.or.jp/ifs/symbolic-proc/unix/klic/klic.tgz.
Info: ICOT Free Software. Concurrent logic programming. Tested on Sparcs, DEC 7000, Gateway P5-60.
Contact:
LPA Win-Prolog, demo version
Platforms: Windows
Available: Available from http://www.lpa.co.uk/ind_dow.htm
MINERVA
Platforms: Java
Available: Available from http://www.ifcomputer.co.jp/MINERVA
Info: Proprietory commercial ISO-Prolog Compiler in 100% Java support for web programming, XML, servlets, applets, standalones. Free evaluation license.
Modular SB-Prolog (= SB-Prolog version 3.1 plus modules)
Platforms: SPARC, DECstation, MIPS, HP 9000 series, Sun 3.
Available: Anonymous FTP from ftp://ftp.dcs.ed.ac.uk/
Info: Copy-lefted.
Newt Prolog
Platforms: Apple MessagePad Newton
Available: Currently only beta version available; download and more information on http://www.cfht.hawaii.edu/~jlv
E-mail:
Open Prolog
Platforms: Apple Macintosh
Available: http://www.cs.tcd.ie/open-prolog/
E-mail: . (Michael Brady).
Poplog Prolog
Platforms: Various Unixes, including Sun, Dec Alpha, HP and many others. Also a Win32 version is available. Sources available for other combinations.
Available: At the Free Poplog Web/FTP site, including full sources http://www.cs.bham.ac.uk/research/poplog/freepoplog.html Mirror sites at http://www.poplog.org/resources/dist/new/
E-mail: queries may be posted to news://comp.lang.pop/, or to or (Last resort!)
Info: Robust incremental compiler, part of the multi-language Poplog system (including Common Lisp, Pop-11 and Standard ML). Unix, Linux & VMS versions include full support for X window facilities/Motif. More information at http://www.cs.bham.ac.uk/research/poplog/poplog.info.html Licence modelled on XFree86. Can be freely distributed, though copyright is owned by Sussex University and ISL.
PIE2
Platforms: Unknown
Available: On CompuServe in the AIEXPERT forum, interpreter and examples in PIE2.ZIP, documentation in PIEDOC.ZIP.
E-mail: Brent Ruggles
QuProlog
Platforms: UNIX, Linux, beta for MAC
Available: http://www.itee.uq.edu.au/~pjr/HomePages/QuPrologHome.html
E-mail:
Info: Extended WAM with support for quantifiers and substitutions, multi-threaded, high-level communication.
Strawberry Prolog
Platforms: Windows 95/NT, plans for UNIX and Macintosh
Available: http://www.dobrev.com/
E-mail:
SWI Prolog
Platforms: Binaries for Linux, Windows (NT/2000/XP/Vista) and Mac OS X (darwin). Sources: ANSI-C, both 32 and 64-bit machines, compiles on almost all Unix systems and more.
Available: http://www.swi-prolog.org, ftp://ftp.tu-darmstadt.de/pub/programming/languages/prolog/swi-prolog/
Info: Complete, ISO and Edinburgh standard, common optimizations, GC including atoms. Portable graphics, multiple threads, constraints, comprehensive libraries for (semantic) web programming, Unicode, source-level debugger, advanced syntax colouring
License: LGPL
Trinc-Prolog
Platforms: Windows 95/98/NT 4.0, plans for Windows 2000, Linux and Sun Solaris
Available: http://www.trinc-prolog.com/
E-mail:
UPMAIL Tricia Prolog
Platforms: Apple Macintosh
Available: Anonymous FTP from ftp://ftp.csd.uu.se/pub/Tricia; get README first.
Info: UPMAIL is still available, but unsupported.
Visual Prolog
Platforms: Win32
Available: http://www.visual-prolog.com
Info: Includes all the facilities necessary to write mission critical commercial-grade applications. Fully visual development environment. Open architecture. Object-oriented. Built-in database system and ODBC support. Visual Prolog Personal Edition is available on a freeware license.
wamcc
Platforms: UNIX
Available: Anonymous FTP from ftp://ftp.inria.fr/INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/wamcc
Info: Compiler which translates Prolog to C via WAM. Debuggers. Requires GNU C v.2.4.5 or higher.
Contact: Daniel Diaz
XGP
Platforms: Apple Macintosh OS X, 10.2.3+
Available: http://xgp.sourceforge.net/
Info: XGP is an open source (GPL) integrated development environment with user interface and graphics support based on gprolog and Cocoa under Macintosh OS X.
XSB
Platforms: Many, including SunOS, Linux and Windows
Available: http://xsb.sourceforge.net/
E-mail:
Info: system with SLG-resolution, HiLog syntax, and unification factoring.
Yap 4.2.0
Platforms: UNIX-based platforms and Windows
Available: http://www.ncc.up.pt/~vsc/Yap/
E-mail: Vitor Santos Costa
Info: Yap is entirely written in C and Prolog and should be portable to most 32-bit and 64-bit Unix based platforms. A Windows port is also available. Yap4.2 is distributed under Perl's artistic license and can be freely distributed.

No comments: