Intro till Haskell – Installationsguide
Denna guide hjälper dig att komma igång med Haskell på ett smidigt sätt. Jag har själv stött på problem med installationen och vet att jag inte är ensam om det!
Översikt#
För Windows-användare: Jag rekommenderar Docker för en smidig och konsistent utvecklingsmiljö.
För macOS-användare (Apple användare): Jag rekommenderar lokal installation för bästa prestanda och enklare användning.
På Windows krånglar ibland den lokala installationen (miljövariabler och PATH), därför är Docker enklare och stabilare. På macOS fungerar den lokala installationen smidigt och ger bättre prestanda än Docker. Båda alternativen fungerar på båda systemen, men detta är vad som rekommenderas i kursen och av mig.
Steg 1: Installera Visual Studio Code#
VS Code är den rekommenderade editorn för kursen - gratis, kraftfull och med bra Haskell-stöd. Men du kan självklart hoppa över detta steg och välja något som passar dig bättre.
Windows & macOS#
- Gå till Visual Studio Code Download Page.
- Ladda ner för ditt operativsystem.
- Installera enligt instruktionerna.
OBS: Kursen omber dig att INTE installera något ai-verktyg som exempelvis github co-pilot. Undvik att installera om möjligt.
Steg 2: Installera Haskell#
Nu är det dags att installera Haskell. Som nämnt tidigare rekommenderar kursen Docker på Windows och lokal installation på macOS och Linux. Nedan visar jag hur du gör på båda sätten.
För att installera Docker följ Steg 2D och hoppa över 2L, gör tvärtom för en lokal installation.
Steg 2D: Docker-Installation (Rekommenderat för Windows)#
Docker är ett verktyg som kör program i små virtuella miljöer – som en mini-dator inuti din dator – kallade containrar. Det gör att du slipper installera allt direkt på systemet och istället får en färdig miljö som alltid fungerar likadant.
- Konsistent miljö: Samma setup oavsett Windows-version.
- Färdigt paket: Alla verktyg förinstallerade.
- Mindre krångel: Inga konflikter med andra program.
OBS: Ibland kan man behöva aktivera virtualization i bios.
Steg 2D.1: Installera Docker#
- Ladda ner Docker Desktop.
- Kör installern och följ instruktionerna.
- Starta Docker Desktop.
- Vid behov: Starta om datorn för att aktivera virtualisering
- (Frivilligt) Skapa ett Docker-konto och bekräfta din e-postadress (Om du skapar ett konto är det viktigt att du bekräftar din epost annars kommer senare steg inte fungera.)
Steg 2D.2: Sätta igång utvecklingsmiljön (med Docker)#
- Ladda ned kursfilerna.
Varje uppgift kommer med särskilda labbfiler. Dessa innehåller både de Docker-filer som behövs för att starta utvecklingsmiljön samt de Haskell-filer som hör till uppgiften. Det rekommenderade sättet är att alltid använda de medföljande labbfilerna, eftersom de är anpassade för uppgiften. Alternativet är att själv sätta upp en egen Docker-miljö och skapa Haskell-filer manuellt, men då får du inte den färdiga struktur som kursen tillhandahåller. Nedan finns exempel på var labbfilerna till Lab 1: Power to the People finns.
Lab 1 kursfiler.
- Placera .zip filen du laddade ned på ett lämpligt ställe och exportera den.
- Detta gör du normalt genom att använda finder(mac) eller file explorer(windows). En lämplig plats kan exempelvis vara skrivbordet, eller någon kursspecifik mapp.
- Starta Docker desktop.
- Öppna VS-Code.
- Klicka Open Folder och välj din labbmapp(den vi exporterade i steg 2).
- Installera tilläggen Haskell och Dev Containers (tidigare Remote - Containers).
- Klicka på ikonen med fyra kuber i vänstermenyn (Extensions).
- Skriv namnet på tillägget i sökrutan.
- Klicka på Install.
- Gå tillbaka till filvyn (ikonen med dokument).
- När popupen dyker upp i nedre högra hörnet, klicka på Reopen in Container. (Om popupen inte syns kan du behöva starta om VS Code och prova igen.)
- Vänta medan containern byggs och laddas. (Första gången kan detta ta några minuter.)
Om allt fungerade korrekt borde du i nedre vänstra hörnet av VS Code se en blå ruta med text som container@pc
. Texten kan variera något. Är rutan tom så är ingen kontainer igång.
Steg 2L: Installera Haskell Lokalt (Rekommenderat för MacOS & Linux)#
Att installera Haskell lokalt på macOS eller Linux ger flera fördelar:
- Bättre prestanda: Ingen virtualisering behövs.
- Enklare hantering: Direkt tillgång till alla verktyg.
- Mindre resurskrävande: Docker kan vara tungt speciellt på äldre intel-Mac-datorer.
- Smidigare utveckling: Snabbare kompilering och körning.
Steg 2L.1: Installera Haskell med GHCup#
- Öppna Terminal.
Kör installationskommandot som finns att hitta på haskells hemsida.
När du kör installationskommandot för GHCup kommer flera frågor upp. Följ gärna dessa rekommendationer:
Välj base channel:
D (Default, GHCup-maintained)
Enable pre-releases channel:
N (Nej)
Enable cross channel (GHCJS, WASM):
N (Nej)
Lägg till PATH automatiskt:
P (Prepend) – så kan du köra GHC, Cabal och Stack direkt från terminalen
Install Haskell Language Server (HLS):
Y (Ja) – gör att editorer som VS Code får fullständig språkstöd
Enable better Stack integration:
Y (Ja) – Stack använder samma GHC-installation som GHCup
Verifiera installationen genom att köra:
ghc --version
cabal --version
stack --version
Om alla kommandon ger en version som output har installationen lyckats.
Steg 2L.2: Sätta igång utvecklingsmiljön (utan Docker)#
Ladda ned kursfilerna
Varje uppgift har särskilda labbfiler som innehåller de Haskell-filer som behövs för uppgiften. Det rekommenderade sättet är att alltid använda de medföljande labbfilerna, eftersom de är anpassade för uppgiften. Alternativt kan du skapa egna Haskell-filer och projektstruktur, men då får du inte den färdiga strukturen som kursen tillhandahåller.
- Är du osäker på var du hittar labbfilerna, följ instruktionerna i Steg 2D.2, från steg 1 till och med steg 2a.
- Placera .zip filen du laddade ned på ett lämpligt ställe och exportera den.
- Detta gör du normalt genom att använda finder(mac) eller file explorer(windows). En lämplig plats kan exempelvis vara skrivbordet, eller någon kursspecifik mapp.
- Öppna VS-Code.
- Klicka Open Folder och välj din labbmapp(den vi exporterade i steg 2).
- Installera tillägget Haskell.
- Klicka på ikonen med fyra kuber i vänstermenyn (Extensions).
- Skriv namnet på tillägget i sökrutan.
- Klicka på Install.
- Gå tillbaka till filvyn (ikonen med dokument).
Steg 3: Kör ditt första haskell program#
Nu när miljön är igång är det dags att skriva och köra ditt första Haskell-program.
Vad är en haskell-fil?
En Haskell-fil är en vanlig textfil som innehåller Haskell-kod och alltid har filändelsen .hs
. Exempel:HelloWorld.hs
Innehållet kan till exempel vara:main :: IO () main = putStrLn "Hello, world!"
Här definierar vi en main
-funktion som skriver ut texten "Hello, world!"
i terminalen.
Steg 3.1: Öppna terminalen i VS Code#
- Öppna VS Code.
- Navigera till mappen med labbfilerna i filvyn (ikonen med dokument).
- Öppna terminalen i vs-code.
Steg 3.2: Kör programmet med GHCI#
GHCI är Haskells interaktiva tolkläge som låter dig köra program direkt utan att först kompilera dem:
- Skriv i terminalen:
ghci HelloWorld.hs
Det går givetvis bra att köra något annat program(haskell fil).
När GHCI startat, kör en funktion i programmet genom att skriva direkt i konsolen.
Använder du mitt exempel är det:
main
Då kommer programmet att svara:
Hello, world!