Difference between revisions of "FP Laboratory 1/cs"

From Marek Běhálek Wiki
Jump to navigation Jump to search
(Created page with "*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, vyt...")
(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...")
Line 17: Line 17:
 
plus x y  = x + y + 'a'
 
plus x y  = x + y + 'a'
 
</syntaxhighlight >
 
</syntaxhighlight >
It should report a problem in function <code>plus</code> (you can not use <code>+</code> with letter, it can be repaired by removing <code>+ 'a'</code>). Report from VS Code is refreshed whenever the source file is saved on 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 ==
 
== First program in Haskell ==

Revision as of 08:06, 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.

First program in Haskell

In your favorite development environment (VS Code by default):

  • Crate a file simple.hs.
  • Create a function pythagoras a b that computes c based on . Necessary functions can be found: Hoogle
  • Open ghci and run the implemented function with 3 4. File can be loaded using command :l (:load) and reloaded with :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.