Difference between revisions of "FP Laboratory 1"

From Marek Běhálek Wiki
Jump to navigation Jump to search
Line 13: Line 13:
 
</syntaxhighlight >
 
</syntaxhighlight >
 
<translate>
 
<translate>
*If you write expression, for example <code>1+2*3</code>,  it should be evaluated. You can close this interpreter by typing<code>:q</code>.
+
*If you write expression, for example <code>1+2*3</code>,  it should be evaluated. You can close this interpreter by typing <code>:q</code>.
 
+
*Open Visual Studio Code, create a file <code>simple.hs</code> and put there following lines of code:
== Topic ==
+
</translate>
 
<syntaxhighlight lang="Haskell" >
 
<syntaxhighlight lang="Haskell" >
ghci> :l baby 
+
doubleMe x = x * x
[1 of 1] Compiling Main            ( baby.hs, interpreted ) 
 
Ok, modules loaded: Main. 
 
ghci> doubleMe
 
18 
 
ghci> doubleMe 8.3 
 
16.6 
 
  
ghci> 2 + 15 
+
plus x y  = x + y
17 
 
ghci> 49 * 100 
 
4900 
 
ghci> 1892 - 1472 
 
420 
 
ghci> 5 / 2 
 
2.5
 
 
</syntaxhighlight >
 
</syntaxhighlight >
<syntaxhighlight lang="Haskell" class="myDark" >  
+
<translate>
ghci> import Prelude
 
  
doubleSmallNumber x = if x > 100 
 
                        then x 
 
                        else x*2 
 
 
ghci> [1,2,3,4] ++ [9,10,11,12] 
 
[1,2,3,4,9,10,11,12] 
 
ghci> "hello" ++ " " ++ "world" 
 
"hello world" 
 
ghci> ['w','o'] ++ ['o','t'] 
 
"woot" 
 
 
multThree :: (Num a) => a -> a -> a -> a 
 
multThree x y z = x * y * z 
 
 
</syntaxhighlight >
 
 
</translate>
 
</translate>

Revision as of 12:14, 28 August 2019

Working environment

Using the installation guide from Functional programming prepare your working environment.

How to verify it is working?

  • Run ghci from the command line. it will start GHC Interpreter, the output should be something like this:
GHCi, version 8.6.5: http://www.haskell.org/ghc/  :? for help
Prelude>
  • If you write expression, for example 1+2*3, it should be evaluated. You can close this interpreter by typing :q.
  • Open Visual Studio Code, create a file simple.hs and put there following lines of code:
doubleMe x = x * x

plus x y  = x + y