Voor de oefeningenlessen en projecten van deze cursus zal je zelf Haskell code en projecten moeten kunnen compileren en uitvoeren. Om zeker te zijn dat projecten die op jouw computer werken ook bij mij werken, gebruiken we Stack. Stack zal automatisch de juiste Haskell-versie en dependencies installeren. Hierdoor vermijden we “it works on my machine” problemen.
Om alle benodigde software te installeren, maken we best gebruik van GHCup1. GHCup kan zowel Stack, verschillende Haskell-versies (GHC), Cabal, als de Haskell Language Server installeren. Verder werkt de Visual Studio Code Haskell plugin ook goed samen met GHCup. Hierdoor kan je een groot aantal problemen vermijden tijdens het programmeren in Haskell.
Installatie-instructies vind je op de GHCup website2. Na installatie van GHCup kan je eenvoudig Stack, GHC en Haskell Language Server installeren via het commando ghcup tui of via de CLI. We vatten de installatie-instructies hieronder kort samen voor de meest gebruikte besturingssystemen.
Voor windows raden we ten sterkste aan om gebruik te maken van WSL2. In dat geval kan je de instructies voor Linux volgen.
Om GHCup te installeren op Windows, open je een PowerShell terminal (niet als administrator) en voer je het volgende commando uit:
Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; try { & ([ScriptBlock]::Create((Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -Interactive -DisableCurl } catch { Write-Error $_ }
Om GHCup te installeren op linux/WSL, open je een terminal en voer je het volgende commando uit:
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
Indien je liever geen curl ... | sh gebruikt, kan je de installatie ook manueel uitvoeren door de stappen op de GHCup installatiepagina3 te volgen.
Om GHCup te installeren op macOS, open je een terminal en voer je het volgende commando uit:
brew install ghcup
Na installatie van GHCup en alle benodigde tools via ghcup tui of de CLI kan je controleren of alles correct is geïnstalleerd door de volgende commando’s uit te voeren:
ghcup --version
stack --version
ghc --version
Om Haskell code te schrijven, heb je niet meer dan een teksteditor nodig. Zelf gebruik ik VSCode4 (Visual Studio Code), maar je bent hier volledig vrij in. Visual Studio Code is een populaire keuze vanwege de uitgebreide ondersteuning voor Haskell via extensies zoals de Haskell extension5. Deze plugin biedt functies zoals syntax highlighting, autocompletion, en integratie met de Haskell Language Server, wat het schrijven van Haskell code aanzienlijk kan vergemakkelijken. Bij het eerste gebruik kan VSCode vragen om een haskell toolchain en/of HSL te installeren volg dan de instructies op het scherm.
Je bent uiteraard ook vrij om andere editors te gebruiken zoals vim, emacs, nano, Intellij, Notepad++, Atom, Sublime Text, etc. Deze editors kunnen mogelijks ook allemaal samenwerken met GHCup en Stack, maar de installatie van plugins en configuratie kan verschillen. Aangezien ik zelf geen ervaring heb met deze editors (en dan voornamelijk het Haskell gedeelte) kan ik hier ook maar beperkt ondersteuning voor bieden.