Difference between revisions of "FP Laboratory 1/cs"

From Marek Běhálek Wiki
Jump to navigation Jump to search
(Created page with "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...")
(Created page with "== 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...")
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.
  
== First program in Haskell ==
+
== První program v jazyce Haskell ==  
In your favorite development environment (VS Code by default):
+
Ve vašem oblíbeném prostředí (standardně VS Code):
* Crate a file <code>simple.hs</code>.
+
* Vytvořte soubor <code>simple.hs</code>.
* Create a function <code>pythagoras a b</code> that computes <code>c</code> based on  <math>c^2 = a^2 + b^2 \,,</math>. Necessary functions can be found: [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]
* Open <code>ghci</code> and run the implemented function with <code>3 4</code>. File can be loaded using command <code>:l</code> (<code>:load</code>) and reloaded with <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>).
  
 
== Real first program in Haskell ==
 
== Real first program in Haskell ==

Revision as of 08:10, 6 September 2019

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).

Real first program in Haskell

If you are complaining, that all programming courses should start with printing "Hello world!" on the screen and that is why previous task sucks. Do the following exercise.

  • Crate a file firstProgram.hs with following content:
main = do putStr "Hello world!"
  • Compile it with 'GHC compiler' (command ghc).
  • It should produce an executable file firstProgram(.exe), run this file.