Difference between revisions of "FP Laboratory 1/cs"
Jump to navigation
Jump to search
| (11 intermediate revisions by 2 users not shown) | |||
| Line 3: | Line 3: | ||
Připravte si pracovní prostředí s využitím návodu ze stránek [[Functional programming | Funkcionální programování]]. | Připravte si pracovní prostředí s využitím návodu ze stránek [[Functional programming | Funkcionální programování]]. | ||
| − | === | + | ===Jak ověřit, že to funguje?=== |
| − | * | + | *Spusťte <code>ghci</code> z příkazové řádky. Bude spuštěn interpret GHC, výstup by měl vypadat nějak takto: |
<syntaxhighlight lang="Haskell" class="myDark" > | <syntaxhighlight lang="Haskell" class="myDark" > | ||
GHCi, version 8.6.5: http://www.haskell.org/ghc/ :? for help | GHCi, version 8.6.5: http://www.haskell.org/ghc/ :? for help | ||
Prelude> | Prelude> | ||
</syntaxhighlight > | </syntaxhighlight > | ||
| − | * | + | *Pokud napíšete výraz, například <code>1+2*3</code>, měl by být vyhonocen. Interpret je možné ukončit napsáním <code>:q</code>. |
| − | * | + | *Otevřete Visual Studio Code, vytvořte soubor <code>simple.hs</code> a vložte do něj následující kód: |
<syntaxhighlight lang="Haskell" > | <syntaxhighlight lang="Haskell" > | ||
doubleMe x = x * x | doubleMe x = x * x | ||
| Line 17: | Line 17: | ||
plus x y = x + y + 'a' | plus x y = x + y + 'a' | ||
</syntaxhighlight > | </syntaxhighlight > | ||
| − | + | 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 == |
| − | + | Ve vašem oblíbeném prostředí (standardně VS Code): | |
| − | * | + | * Vytvořte soubor <code>simple.hs</code>. |
| − | * | + | * 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>). |
| − | + | <div class="mw-collapsible mw-collapsed" data-collapsetext="Hide solution" data-expandtext="Show solution"> | |
| − | == | + | <syntaxhighlight lang="Haskell"> |
| + | pythagoras a b = sqrt (a*a + b*b) | ||
| + | </syntaxhighlight> | ||
| + | [[File:Tryit.png|center|60px|Try it!|link=https://rextester.com/DEAQ69276]] | ||
| + | </div> | ||
| + | <div style="clear:both"></div> | ||
| + | == Opravdová první aplikace v jazyce Haskell == | ||
| − | + | Pokud se vám nezdá, že předchozí úkol nevypíše <code>"Hello world!"</code> 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 <code>firstProgram.hs</code> s následujícím osahem: |
<syntaxhighlight lang="Haskell"> | <syntaxhighlight lang="Haskell"> | ||
main = do putStr "Hello world!" | main = do putStr "Hello world!" | ||
</syntaxhighlight > | </syntaxhighlight > | ||
| − | * | + | *Zkompilujte vytvořený soubor 'GHC kompilátorem' (příkaz <code>ghc</code>). |
| − | * | + | *Měl by být vytvořen spustitelný soubor <code>firstProgram(.exe)</code>, spusťte tento soubor. |
Latest revision as of 15:31, 20 September 2021
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
ghciz 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.hsa 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 bkterá počítácna základě vztahu . Potřebné funkce mohou být nalezeny v: Hoogle - Otevřete
ghcia 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).
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.hss 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.