Difference between revisions of "FP Laboratory 1/cs"

From Marek Běhálek Wiki
Jump to navigation Jump to search
 
Line 28: Line 28:
 
pythagoras a b = sqrt (a*a + b*b)
 
pythagoras a b = sqrt (a*a + b*b)
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
[[File:Tryit.png|center|60px|Try it!|link=https://rextester.com/DEAQ69276]]
 
</div>
 
</div>
 
<div style="clear:both"></div>
 
<div style="clear:both"></div>

Latest revision as of 15:31, 20 September 2021

Pracovní prostředí

Připravte si pracovní prostředí s využitím návodu ze stránek Funkcionální programování.

Jak ověřit, že to funguje?

  • Spusťte ghci z příkazové řádky. Bude spuštěn interpret GHC, výstup by měl vypadat nějak takto:
GHCi, version 8.6.5: http://www.haskell.org/ghc/  :? for help
Prelude>
  • Pokud napíšete výraz, například 1+2*3, měl by být vyhonocen. Interpret je možné ukončit napsáním :q.
  • Otevřete Visual Studio Code, vytvořte soubor simple.hs a vložte do něj následující kód:
doubleMe x = x * x

plus x y  = x + y + 'a'

Prostředí by mělo nahlásit problém ve funkci plus (není přípustné používat operátor + s písmeny, je možné chybu odstranit odebráním + 'a'). Hlášení z nástroje VS Code je obnoveno pokaždé, kdy je soubor uložen na disk.

První program v jazyce Haskell

Ve vašem oblíbeném prostředí (standardně VS Code):

  • Vytvořte soubor simple.hs.
  • Vytvořte funkci pythagoras a b která počítá c na základě vztahu . Potřebné funkce mohou být nalezeny v: Hoogle
  • Otevřete ghci a spusťte vytvořenou funkci se vstupem 3 4. Soubor může být nahrán příkazem :l (:load) a obnoven příkazem :r (:reload).
pythagoras a b = sqrt (a*a + b*b)
Try it!

Opravdová první aplikace v jazyce Haskell

Pokud se vám nezdá, že předchozí úkol nevypíše "Hello world!" na obrazovku a zdá se vám to špatně, protože každý kurz programování by měl začít tuto úlohou, vytvořte následující úlohu.

  • Vytvořte soubor firstProgram.hs s následujícím osahem:
main = do putStr "Hello world!"
  • Zkompilujte vytvořený soubor 'GHC kompilátorem' (příkaz ghc).
  • Měl by být vytvořen spustitelný soubor firstProgram(.exe), spusťte tento soubor.