CSCC24 Software

Haskell

On Mathlab

Mathlab has GHC 9.4.8 (Haskell interpreter and compiler). Newer versions are very likely to be compatible in this course.

Short-Term Online Try-Out

Haskell Playground

Linux, Mac, Windows

Via GHCup.

For “enable better integration of stack with GHCup?” you can answer no. (It doesn't matter in this course, yes is not wrong either.)

Please also pay attention to its reminders about system requirements.

Containerized

If you prefer keeping the Haskell compiler inside a docker image: Standard docker images for Haskell.

Or, development container in VS Code: There is a definition for Haskell. (Basically it runs GHCup in a devcontainer for you.) Perhaps these instructions helps.

Docs

GHC 9.4.8 User's Guide (good starting point: Using GHCi)

Standard library docs. Good starting points: Prelude, Data.List, Debug.Trace (my tutorial)

The Haskell 2010 Report

Curry

The Curry compiler we use is PAKCS.

On Mathlab

Mathlab has PAKCS installed. The command name is pakcs. If it can't be found, the full pathname is /usr/local/cms/pakcs-3.8.0/bin/pakcs

Short-Term Online Try-Out

Curry on Smap

Containerized

(1GB install size)

docker pull currylang/pakcs

Linux x86-64

PAKCS is not easy to install, but here it goes.

  1. Install SWI Prolog. On Ubuntu: sudo apt install swi-prolog

  2. Download pakcs-3.8.0-amd64-Linux.tar.gz

  3. Before unpacking that, plan ahead which directory you want to install into. The install script will hardcode absolute paths in installed files; things would break if moved later.

    Below I assume that you choose the directory FOO.

  4. Unpack into FOO. Note that you now have FOO/pakcs-3.8.0

  5. cd FOO/pakcs-3.8.0 && make

    If successful, the REPL/compiler is FOO/pakcs-3.8.0/bin/pakcs

  6. Add FOO/pakcs-3.8.0/bin to PATH.

  7. The REPL can support line editing if you also install rlwrap. On Ubuntu: sudo apt install rlwrap

Docs

PAKCS User Manual

Standard library docs. Good starting points: Prelude, Data.List, Control.Search.SetFunctions, Debug.Trace

The Curry Report