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