Mathlab has GHC 9.4.8 (Haskell interpreter and compiler). Newer versions are very likely to be compatible in this course.
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.
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.
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 Curry compiler we use is PAKCS.
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
(1GB install size)
docker pull currylang/pakcs
PAKCS is not easy to install, but here it goes.
Install SWI Prolog. On Ubuntu: sudo apt install swi-prolog
Download pakcs-3.8.0-amd64-Linux.tar.gz
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.
Unpack into FOO. Note that you now have FOO/pakcs-3.8.0
cd FOO/pakcs-3.8.0 && make
If successful, the REPL/compiler is FOO/pakcs-3.8.0/bin/pakcs
Add FOO/pakcs-3.8.0/bin to PATH.
The REPL can support line editing if you also install rlwrap.
On Ubuntu: sudo apt install rlwrap
PAKCS User Manual
Standard library docs. Good starting points: Prelude, Data.List, Control.Search.SetFunctions, Debug.Trace