PAKCS: The Portland Aachen Kiel Curry System
Installation Instructions
The current version of PAKCS runs on Unix-based platforms
and has been tested under SunOS, Linux, and Mac OS X.
If you want to install and run the complete system
on your computer, you need the following software:
-
SICStus-Prolog (Version 3 #5
or higher) (recommended)
-
SWI-Prolog
(if you do not have SICStus-Prolog, but then the execution is less
efficient and some functionality (e.g., constraint solvers) is
not available)
How to generate and install the PAKCS kernel:
-
Go into the main directory of PAKCS (which contains
this file). In the following, we assume that pakcshome
is the name of this directory.
-
If you have the executables sicstus (for SICStus-Prolog)
or swipl (for SWI-Prolog)
in your path, execute "make" which installs PAKCS
(after asking you to confirm the values for the
environment variables SICSTUSDIR or SWIPROLOG).
These values are stored
in the home directory in file .pakcsinitrc so that they are
available for future installations of new versions of PAKCS.
-
Otherwise, modify in the shell script
"pakcshome/pakcsinitrc"
the definition of the variables SICSTUSDIR or SWIPROLOG
according to your local installation.
If both variables are undefined,
the PAKCS compiler system is not installed (i.e.,
only the front-end is installed).
-
If you install PAKCS from the source code distribution, you need also the
Glasgow Haskell Compiler
(executable
ghc
) to compile the front end of PAKCS.
The make script will ask you for it.
-
Now, install PAKCS by "make"
(if you have already an older installation of PAKCS, do "make clean" before).
-
Add the directory "pakcshome/bin"
to your path, e.g., by the command
export PATH=$PATH:pakcshome/bin
in the bash.
-
Now you can start the PAKCS compiler system via the command
"pakcs".
-
If you want, you can also execute "make libdoc"
to generate a local version of the documentation of all system libraries
by the CurryDoc tool into the directory
"pakcshome/lib/CDOC".
However, this is only necessary if you want to work offline since
you can also access the documentation online at
http://www.informatik.uni-kiel.de/~pakcs/lib/.
-
You can configure the behavior of PAKCS by various setting
in a "pakcsrc" file. For doing so, copy the file
pakcshome/pakcsrc as ".pakcsrc"
into you home directory and modify the settings.
-
If you like to have support for line editing or history functionality
in the PAKCS interactive environment (as supported by the readline
library), you should have the Unix/Linux command "rlwrap" installed
on your local machine. PAKCS uses "rlwrap" if called on a terminal
without the parameter "--noreadline".
How to install additional packages:
The distribution of PAKCS contains various additional packages
and libraries. Some require additional software packages that are
described below.
-
If you want to use the library for GUI programming in Curry
(pakcshome/lib/GUI.curry), you need also a
Tcl/Tk implementation (including the windowing shell wish)
which can be downloaded
here.
In this case, the windowing shell wish must be
in your path (or you can also modify the definition of the
function openWish in the library GUI.curry).
-
If you want to use the DaVinci library for the visualization of graphs
(pakcshome/lib/DaVinci.curry), you need also an
installed daVinci system which can be downloaded
here.
In this case, you have to modify the definition of the constant
dvHome in the library pakcshome/lib/DaVinci.curry
according to the installation path of daVinci.
Changing system constants:
The distribution of PAKCS is configured with a
maximal tuple arity of 15, i.e., Curry programs containing larger
tuple sizes cannot be compiled. If you want to increase this size
(usually, it is preferable to change your program), you have to change
(in a source distribution of PAKCS)
two system files and install your system as follows:
-
Change the definition of the constant
maxTupleArity
in the files
pakcshome/frontend/curry-frontend/src/Generators/GenFlatCurry.hs
and pakcshome/curry2prolog/compiler.pl
according to your required maximal arity.
-
Delete the file pakcshome/lib/Prelude.fcy.
-
Re-install PAKCS by make.
Hints for specific platforms
Ubuntu 7.10
If you install PAKCS from the binary Linux distribution,
the pre-compiled executable of the front-end might not find
the library libgmp.so.3
. This problem can be fixed
by the following commands (executed as root):
cd /usr/lib
ln -s libgmp.so.3.4.1 libgmp.so.3
If you use SWI-Prolog, you should install the packages
swi-prolog
as well as swi-prolog-clib
from the Ubuntu distribution.
The latter package is necessary if sockets, ports, and
other system-oriented features should be used in Curry.
(Thanks to Sergio Antoy and Steffen Mazanek for these hints.)
Michael Hanus