Praktikum 0 - Tarkvara paigaldus
Toome välja mõned näited, kuidas Idris2 installida. Võite kasutada teisi meetodeid -- peamine, et teil oleks töötav Idris2 REPL (i.k. read-eval-print loop) ja mingi koodiredaktor. Alles viimastes praktikumides on ülesanded, mida on soovitatav lahendada pluginat kasutades. Kui tarkvara paigaldamine õnnestus, saate läbida allpool toodud harjutuse.
Mac OS X (Homebrew)
brew install rlwrap brew install idris2
Windows 10/11 (WSL)
- Paigaldada WSL
- Open PowerShell in administrator mode by right-clicking and selecting "Run as administrator", enter the "wsl --install" command, then restart your machine.
- Installida nixos süsteem kasutades WSL käsurida (või PowerShellis käsk
wsl):
sh <(curl -L https://nixos.org/nix/install) --daemon exit
- Installida Idris2 ja rlwrap kasutades WSL käsurida (või PowerShellis käsk
wsl):
nix-env -i idris2-wrapped nix-env -i rlwrap
- Installida VS Code Windowsi (vt. õpetust all)
Windows (mitte WSL)
- VirtualBox+Ubuntu-22.04 aga siis peate ka VS Code linuxisse installima.
Linux (nix)
Käsureal täita järgnevad käsud. Esimene käsk installib nixos-i siis tuleb terminal sulgeda ja uuesti avada. Kolmas käsk installib idris2-e.
sh <(curl -L https://nixos.org/nix/install) --daemon exit nix-env -i idris2-wrapped nix-env -i rlwrap
Ubuntu (apt) kui nix ei tööta
sudo apt update sudo apt install chezscheme git build-essential libgmp-dev rlwrap wget https://github.com/idris-lang/Idris2/archive/refs/tags/v0.8.0.tar.gz tar -xvzf v0.8.0.tar.gz cd Idris2-0.8.0 make bootstrap SCHEME=scheme make install cd .. echo 'export PATH="$HOME/.idris2/bin:$PATH"' >> ~/.bashrc echo 'export LD_LIBRARY_PATH="$HOME/.idris2/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc

Visual Studio Code (WSL)
- Lae alla ja paigalda VS Code
- Käivita VS Code
- Paigalda VS Code laiendus (extension) "WSL"
- Sulge VS Code
- Ava linux-i käsurida (näiteks Windowsi menüüst WSL või PowerShellist käsk "wsl")
- Käsureal mine oma wsl-i kodukataloogi ja ava seal VSCode
cd code .
- Paigalda laiendus "Idris Language" (meraymond)
- Veendu, et laiendus oleks installitud WSL:Ubuntu alla --- VS Code peaks ütlema "Extension is enabled on 'WSL:Ubuntu'"
- Laienduse vaates vajuta hammasratta (Manage) peal ja vajuta 'Settings'
- Sätetes vali: Idris2 Mode ja Idris Path pane "idris2"
- Sulge sätted
Lõpuks on vaja konfigureerida klahvikombinatsioonid
- Ava: File -> Preferences -> Keyboard Shortcuts ning kirjuta otsingusse "Idris"
- Seadista klahvikobinatsioonid vastavalt enda soovile, näiteks
- Idris: Case Split | Ctrl + Alt + C
- Idris: Proof Search | Ctrl + Alt + P
- Idris: Interpret Selection | Ctrl + Alt + I
Arendamisel avage VS Code-s vastav kataloog (kui avate ainult faili siis ei pruugi laiendus töötada)
- Näiteks WSL käsurealt:
code .
Märkus: Kuna VSCode laiendus "WSL" on arendatud Microsofti poolt, siis VS Codium-is seda avalikult ei leia. Selle saab küll tööle, kui VSCode-st alla tõmmata WSL laienduse VSIX fail ja see siis see VSIX fail VSCodiumis installida.
Visual Studio Code/Codium (mitte-WSL)
- Lae alla ja paigalda VS Code või VS Codium
- Paigalda laiendus "Idris Language" (meraymond)
- Laienduse vaates vajuta hammasratta (Manage) peal ja vajuta 'Settings'
- Sätetes vali: Idris2 Mode ja Idris Path pane "idris2"
- Sulge sätted
Konfigureeri klahvikombinatsioonid
- Ava: File -> Preferences -> Keyboard Shortcuts ning kirjuta otsingusse "Idris"
- Seadista klahvikobinatsioonid vastavalt enda soovile, näiteks
- Idris: Case Split | Ctrl + Alt + C
- Idris: Proof Search | Ctrl + Alt + P
Visual Studio Code + Docker + Dev Containers
(Hoiatus: See juhis on 2026. aasta jaoks uus ning hetkel katsetatud ainult MacOS peal. Teiste OSide peal testimine ja tagasiside (Danelile) on teretulnud.)
See paigaldus- ja kasutusviis on eelkõige neile, kes on harjunud Dockeri ja VS Code'i arenduskonteineritega töötama.
- Lae alla ja paigalda VS Code
- Paigalda laiendus Idris Language (meraymond)
- Laienduse vaates vajuta hammasratta (Manage) peal ja vajuta 'Settings'
- Sätetes vali: Idris2 Mode ja Idris Path pane "idris2"
- Sulge sätted
- Paigalda VS Code'i laiendus Dev Containers
- Sulge VS Code
- Lae alla ja paigalda Docker konteinerite haldamiseks
- Käivita Dockeri protsess
- Loo oma kursuse või projekti kataloogi `.devcontainer` alamkataloog
- Lae alla ja kopeeri `.devcontainer` alamkataloogi failid Devcontainer ja devcontainer.json
- Ava oma kursuse või projekti kataloog (alamkataloogi `.devcontainer` sisaldav kataloog) VS Code'is ning vali "Reopen in Container" nii nagu viidatud järgmisel pildil (kas valides esmalt 1a ja seejärel 1b, või valides hüpikmenüüst valiku 2)

- Seejärel VS Code alustab Dockeri konteineri ehitamist, mis võib esimesel korral võtta rohkem kui 10min. Järgmistel kordadel toimub projekti konteineris avamine kiiresti, kuna kasutatakse juba varasemalt ehitatud konteinerit.
- Kui konteineri ehitamine õnnestub, siis peaks VS Code näitama, et projekt on avatud konteineris "Dev Container: Idris2 devcontainer", nagu illustreeritud järgmisel pildil (roheliselt all vasakul ja ka projekti/kataloogi nimes).

VIM
- Idrise looja Edwin Brady kasutab arendamiseks oma vim-i režiimi
Töökeskkonna tutvustus
Selle kursuse ülesandeid on mugav lahendada selliselt, et samal ajal on lahti koodiredaktor (näiteks VS Codium) ja käsurida/terminal Idris2 REPL-ga. Suurema monitoriga/ekraanilahutusega saavad need aknad olla kõrvuti. Sülearvutil võib olla mugavam kui mõlemad on täisekraanis s.t. vahetada nende vahel Alt-Tab/Command-Tab ga.
Tehke läbi järgnev lühike harjutus:
- Avage käsurida, kus saate idrist käivitada.
- Minge käsureal kataloogi, kus te tahate hoida kursuste materjale.
- Looge uus kataloog:
mkdir idris_test - Minge sinna kataloogi:
cd idris_test - Looge fail test0:
touch test0.idr - Avage VSCode:
code . - Käivitage REPL:
rlwrap idris2 test0.idr- Kui teil ei õnnestunud
rlwrap-i installimine, siis kasutage lihtsaltidris2 test0.idr
- Kui teil ei õnnestunud
- REPL-is arvutage midagi:
5+5+5 - Kopeerige järgnev kood VSCode-s avatud faili (ärge salvestamist unustage)
liida5 : Int -> Int liida5 x = x+5
- Laadige REPL-is fail uuest:
:r - REPL-is arvutage:
liida5 (5+5) - Hõljuge hiirega
liida5kohal- Peaks tekkima kastike
Main.liida5: Int -> Int
- Peaks tekkima kastike
- Lisage faili lõppu kommentaar
-- liida5 1 - Selekteerige redaktoris avaldis
liida5 1, vajutage klahvikombinatsioon Ctrl-Alt-i (kui olete selle seadistanud)- Peaks tekkima juurde
=> 6
- Peaks tekkima juurde
- Sule REPL:
:q
