If you have SICStus Prolog 3.7.1 or SWI-Prolog 3.3.4 (or later versions), running under SunOS or Linux, you may run ccalc 2.0 by downloading the following file, which was created using tar and gzip.
ccalc.2.0b.9.1.tar.gz (CCalc 2.0 Beta 9.1)
Once you have downloaded this file, you may unpack it by using the following commands.
% gunzip
ccalc.2.0b.9.1.tar.gz
% tar
-xvf ccalc.2.0b.9.1.tar
A directory named ccalc.2.0b will be created under your current directory. This directory will contain the following executable files:
form_input
form_sorted_input
clause_sort
the following standard files:
precedences.std (to define the operators CCalc uses)
macros.std (to define the macros which parse the input)
history.std (for queries in history mode)
static0.std (for time 0 in transition mode)
static1_dynamic.std (for time 1 and beyond in transition mode)
options.std (containing defaults for all the user options)
arithmetic (to introduce the sorts integer and nonnegative integer, and a few arithmetic operations)
additive (to introduce additive fluents)
the main file:
ccalc.pl
the following include files:
sicstus.3.7.1.pl (containing definitions of some special predicates for SICStus Prolog)
swi.3.3.4.pl (containing definitions of some special predicates for SWI-Prolog)
and a subdirectory called solvers containing Linux and SunOS executables for all the SAT solvers which CCalc can use.
To run ccalc with SICStus Prolog, first run SICStus Prolog by the command
% sicstus
Then compile the file ccalc.pl by the command
| ?- compile('ccalc.pl').
To run ccalc with SWI-Prolog, first run SWI-Prolog by the command
% pl
Then compile the file ccalc.pl by the command
?- [ccalc].
Documentation
The Syntax and Informal Semantics of CCalc Input Files describes the input format for CCalc 2.0.
An informal description of some of the new features is available from A Glimpse of Version 2.0.
"Using the Causal Calculator with the C Input Language" by Norm McCain, June 1999
discusses the use of ccalc 1.22, but is badly out-of-date with respect to version 2.0.