A text?oriented Prolog application for the Macintosh.

It combines the flexibility of an interpreter with the speed of
compiled code.

Open Prolog TCSP is a version compiled with modifications for easy C
style extensions.

> ### About Open Prolog
>
> Open Prolog is an Apple Macintosh implementation of Prolog. It is
> postcardware, copyright � [Mike Brady][1] 1994-2005. Download it
> from [here][2].
>
> Open Prolog supports many of the features of Prolog as defined by
> the ISO standard, which is largely based on 'Edinburgh' Prolog.
> Definite Clause Grammar notation is supported. The 'logical' assert
> and retract semantics of Lindholm & O'Keefe are implemented. Open
> Prolog supports disjunctive calls, negation, if-then and if-then-
> else according (we believe) to the ISO Prolog standards. In
> particular, the handling of cuts complies with that specified in the
> standard. Open Prolog also supports program-originated catch-and-
> throw exception handling somewhat similar to ISO Prolog.
>
> Real-number arithmetic and internal database predicates are not
> supported.
>
> Last Call Optimisation (often called Tail Recursion Optimisation)
> and first argument indexing are implemented, mainly to detect
> determinacy so as to improve memory utilisation.
>
> Open Prolog is not copy protected.
>  [?]
>
>
> * * *
>
>
>
>
> ### Benchmark Speed
>
> Machine  |  Processor & Clock Speed  |  Naive Reverse Benchmark
> Speed
> ---|---|---
> iMac (Slot Loading iMac), Mac OS X 10.0.3, Classic mode | 350 MHz G3
> | 650 KLips
> PowerMac 9500 (120MHz), System 7.5.2 | 120 MHz 604 | 190 KLips
> Performa 5300, System 7.5.1, Speed Doubler | 100 MHz 603e | 130
> KLips
> Performa LC630, System 7.5.1 | 33 MHz 68LC040 | 60 KLips
> Performa 5300, System 7.5.1 | 100 MHz 603e | 25 KLips
> PowerBook 140, System 7.5.1 | 16 MHz 68030 | 9 KLips
> Macintosh Plus, System 7.1 |  8 MHz 68000 | 1.9 KLips
>
> * * *
>
> ### Using Open Prolog
>
> Open Prolog is postcardware - that is, you may use it free of charge
> on condition that you send the author a postcard from where you
> live. [You can download][2] it from this site, or from many
> shareware sites around the world. No responsibility is accepted by
> the author for any consequences of using, or attempting to use, Open
> Prolog.
>
>
> * * *

? [Open Prolog Home Page][3]


> ## [Getting Started With Open Prolog][4]
>
> This document will show you how to start Open Prolog and how to
> write and test a small Prolog program. It is assumed that the Open
> Prolog application is already in your system somewhere, on a disk or
> server volume. Follow each section below to complete the tutorial
> session. To learn about Prolog itself, you?ll need a Prolog
> textbook. There are lots of good ones, just make sure it uses the
> ?Edinburgh syntax?.
>
> * * *
>
> ### Two Important Things
>
> If you've never written a Prolog program before, remember two
> important things when you are doing the tutorial.
>
>   * Prolog is case sensitive. That means that it distinguishes
> between identifiers on the basis of the case of the letters in them,
> as well as their spelling. So, the words This and this are
> different. (Prolog treats the former as a variable and the latter as
> an atom.)
>   * This sounds strange: never put a space between a term's name and
> the bracket at the start of its parameter list. For instance, the
> term:
>  this (here,right)
>  should correctly be written:
>  this(here,right).
>

>
> * * *
>
> [?]

? excerpt from [Getting Started With Open Prolog][4]

Compatibility
Architecture: 68k

Open Prolog runs on Apple Macintosh machines running Mac OS 7.5.5 and
later, and runs in the Classic environment of Mac OS X.

Open Prolog will run in a memory allocation of 4 Megabytes. 16
Megabytes is recommended.

All memory management and garbage collection is automatic. However,
the name table is not garbage-collected, so it's possible to overflow
it.

  [1]: http://www.cs.tcd.ie/Michael.Brady/
  [2]: http://www.scss.tcd.ie/misc/open-prolog/Downloads/Release/OpenProlog.sea.hqx
  [3]: http://www.scss.tcd.ie/misc/open-prolog/
  [4]: http://www.scss.tcd.ie/misc/open-prolog/Documentation/Getting_Started/index.html