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:

How to generate and install the PAKCS kernel:

  1. Go into the main directory of PAKCS (which contains this file). In the following, we assume that pakcshome is the name of this directory.
  2. If you have the executables sicstus (for SICStus-Prolog) or pl (for SWI-Prolog) in your path, execute "make" which installs PAKCS (after asking you to confirm the values for java and sicstus). The values for sicstus or pl are stored in the home directory in file .pakcsinitrc so that they are available for future installations of new versions of PAKCS.
  3. Otherwise, modify in the shell script "pakcshome/bin/.pakcs_variables" the definition of the variables SICSTUS or SWI according to your local installation. If both variables are undefined, the Curry2Prolog compiler system is not installed (i.e., only the front-end is installed).
  4. 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.
  5. Now, install PAKCS by "make" (if you have already an older installation of PAKCS, do "make clean" before).
  6. Add the directory "pakcshome/bin" to your path, e.g., by the command
    export PATH=$PATH:pakcshome/bin
    in the bash.
  7. Now you can start the PAKCS/Curry2Prolog compiler system via the commands "pakcs" or "curry2prolog".
  8. 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/.
  9. 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.

How to install additional packages:

The distribution of PAKCS contains various additional packages and libraries. Some require additional software packages that are described below.
  1. 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).
  2. 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:
  1. Change the definition of the constant maxTupleArity in the files pakcshome/mccparser/src/PatchPrelude.hs and pakcshome/curry2prolog/compiler.pl according to your required maximal arity.
  2. Delete the file pakcshome/lib/prelude.fcy.
  3. Re-install PAKCS by make.

Michael Hanus