Skip to end of metadata
Go to start of metadata


Prolog is a logical programming language. In contrast to an imperative program which is a series of instructions to modify a program state, a Prolog program is a collection of logical facts and rules (called horn clauses). These programs are "run" by consulting the program in an interpretive environment and then executing queries which are answered based on the logic in the program. This site offers local resources which explain the programming principles of Prolog, always illustrated by sample programs. In addition, there are a number of external links to useful resources such as tutorials and documentation.

Local Resources

Unknown macro: {htmlcomment}
  • [History and Use]: historical and present-day applications of Prolog

  • Introduction
    • Variables
      Unknown macro: {htmlcomment} : trivial programs explain how to identify variables and how they act
    • Types
      Unknown macro: {htmlcomment} : trivial programs demonstrate the type system (such as there is) of Prolog
    • Syntax
      Unknown macro: {htmlcomment} : an interesting program provides a basis for discussion on valid syntactical structure and a note on execution
  • Semantics
    Unknown macro: {htmlcomment} : Denotational, operational, and axiomatic descriptions of semantics reveal the mystery of execution
  • I/O, Exceptions, Functions
    • Input-Output
      Unknown macro: {htmlcomment} : example programs illustrate user interaction and file reading/writing
    • Exceptions
      Unknown macro: {htmlcomment} : sample programs demonstrate different errors, particularly exceptions thrown explicitly
    • Predicates as Functions
  • Memory Management
  • Additional Materials
  • Poetry

Exterior Resources

  • The Art of Prolog:advanced programming techniques by Leon Sterling, Ehud Y. Shapiro - a good book available from Olin Library (once I'm done with it) if you prefer a hard-copy reference
  • SWI-Prolog - a freely available implementation of Prolog
  • built-in predicates - a listing and documentation of the built-in "functions"
  • Learn Prolog Now - a tutorial for learning prolog that makes strong use of example programs, and also includes suggested exercises

© Fall 2011 Mary Fletcher, Elena Kirillova

  • No labels