Difference between revisions of "FP Laboratory 1/cs"
Jump to navigation
Jump to search
(Updating to match new version of source page) |
|||
Line 19: | Line 19: | ||
Prostředí by mělo nahlásit problém ve funkci <code>plus</code> (není přípustné používat operátor <code>+</code> s písmeny, je možné chybu odstranit odebráním <code>+ 'a'</code>). Hlášení z nástroje VS Code je obnoveno pokaždé, kdy je soubor uložen na disk. | Prostředí by mělo nahlásit problém ve funkci <code>plus</code> (není přípustné používat operátor <code>+</code> s písmeny, je možné chybu odstranit odebráním <code>+ 'a'</code>). Hlášení z nástroje VS Code je obnoveno pokaždé, kdy je soubor uložen na disk. | ||
− | |||
== První program v jazyce Haskell == | == První program v jazyce Haskell == | ||
Ve vašem oblíbeném prostředí (standardně VS Code): | Ve vašem oblíbeném prostředí (standardně VS Code): | ||
Line 25: | Line 24: | ||
* Vytvořte funkci <code>pythagoras a b</code> která počítá <code>c</code> na základě vztahu <math>c^2 = a^2 + b^2 \,,</math>. Potřebné funkce mohou být nalezeny v: [https://hoogle.haskell.org/ Hoogle] | * Vytvořte funkci <code>pythagoras a b</code> která počítá <code>c</code> na základě vztahu <math>c^2 = a^2 + b^2 \,,</math>. Potřebné funkce mohou být nalezeny v: [https://hoogle.haskell.org/ Hoogle] | ||
* Otevřete <code>ghci</code> a spusťte vytvořenou funkci se vstupem <code>3 4</code>. Soubor může být nahrán příkazem <code>:l</code> (<code>:load</code>) a obnoven příkazem <code>:r</code> (<code>:reload</code>). | * Otevřete <code>ghci</code> a spusťte vytvořenou funkci se vstupem <code>3 4</code>. Soubor může být nahrán příkazem <code>:l</code> (<code>:load</code>) a obnoven příkazem <code>:r</code> (<code>:reload</code>). | ||
− | |||
<div class="mw-collapsible mw-collapsed" data-collapsetext="Hide solution" data-expandtext="Show solution"> | <div class="mw-collapsible mw-collapsed" data-collapsetext="Hide solution" data-expandtext="Show solution"> | ||
<syntaxhighlight lang="Haskell"> | <syntaxhighlight lang="Haskell"> |
Revision as of 08:27, 24 September 2020
Contents
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 vstupem3 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)
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.