Arvutiteaduse instituut
  1. Kursused
  2. 2021/22 sügis
  3. Funktsionaalprogrammeerimine (LTAT.03.019)
EN
Logi sisse

Funktsionaalprogrammeerimine 2021/22 sügis

  • Üldinfo
    • Õppekorraldus
  • Loengud ja Praksid
    • Installimine
    • 1. Praktikum
    • 2. Praktikum
    • 3. Praktikum
    • 4. Praktikum
    • 5. Praktikum
    • 6. - 7. Praktikum
    • 9. Praktikum
    • 10. Praktikum
    • 11. Praktikum
    • 12. Praktikum
    • 13. Praktikum
    • Projektid
  • Moodle
  • Fleep

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. Kui tarkvara paigaldamine õnnestus, saate läbida allpool toodud harjutuse.

Mac OS X (Homebrew)

 brew install rlwrap
 brew install idris2

Windows 10 (WSL)

  • Paigaldada WSL (soovitatavalt WSL2 aga WSL1 töötab ka.)
  • Installida WSL-i Ubuntu-20.04 (Microsoft store kaudu)
  • Installida Idris2 vastavalt linuxi õpetusele. (Aga VS Code ikka Windowsi!)

Windows (mitte WSL)

  • MSYS-ga hetkel ei tööta (isegi kui Idris2 kompileerimine peaks õnnestuma)
  • Cygwin-ga võibolla töötab -- ei ole testinud
  • Muidugi töötab ka VirtualBox+Ubuntu-20.04 aga siis peate ka VS Code linuxisse installima.

Ubuntu-20.04 (apt)

 sudo apt update
 sudo apt install chezscheme git build-essential libgmp-dev rlwrap
 git clone https://github.com/idris-lang/Idris2.git
 cd Idris2
 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

  1. Lae alla ja paigalda VS Code
    • Ubuntus: sudo apt install code*.deb
  2. Käivita VS Code
  3. WSL puhul paigalda laiendus "Remote - WSL" ja käivita code Ubuntust
  4. Paigalda laiendus "Idris Language" (meraymond)
    • Laiendse "Idris Language" sätetes vali: Idris2 Mode ja Idris Path pane "idris2"
    • Seadista klahvikobinatsioonid järgnevalt:
      1. Kopeeri seadistus laienduse detailidest (Keybindings alt)
      2. Ava: File -> Preferences -> Keyboard Shortcuts
      3. Keyboard Shortcuts tab-ist paremal väike ikoon "Open Keyboard Shortcuts (JSON)"
      4. Nüüd asenda/lisa sinna kopeeritud seadistused.
  5. Arendamisel avage VS Code-s vastav kataloog (kui avate ainult faili siis ei pruugi laiendus töötada)
    • Näiteks käsurealt: code .

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 Code) 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:

  1. Avage käsurida, kus saate idrist käivitada.
  2. Looge uus kataloog: mkdir idris_test
  3. Minge sinna kataloogi: cd idris_test
  4. Looge fail test0: touch test0.idr
  5. Avage VSCode: code .
  6. Käivitage REPL: rlwrap idris2 test0.idr
  7. REPL-is arvutage midagi: 5+5+5
  8. Kopeerige järgnev kood VSCode-s avatud faili (ärge salvestamist unustage)
 liida5 : Int -> Int
 liida5 x = x+5
  1. Laadige REPL-is fail uuest: :r
  2. REPL-is arvutage: liida5 (5+5)
  3. Hõljuge hiirega liida5 kohal
    • Peaks tekkima kastike Main.liida5: Int -> Int
  4. Lisage faili lõppu kommentaar -- liida5 1
  5. Selekteerige redaktoris avaldis liida5 1, vajutage Ctrl-Alt-i
    • Peaks tekkima juurde => 6
  6. Sule REPL: :q
  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Tartu Ülikooli arvutiteaduse instituudi kursuste läbiviimist toetavad järgmised programmid:
euroopa sotsiaalfondi logo