diff options
Diffstat (limited to 'haskell.html.markdown')
| -rw-r--r-- | haskell.html.markdown | 27 | 
1 files changed, 26 insertions, 1 deletions
| diff --git a/haskell.html.markdown b/haskell.html.markdown index 563674c9..fbaa93f2 100644 --- a/haskell.html.markdown +++ b/haskell.html.markdown @@ -259,7 +259,32 @@ Just "hello"  Just 1  ---------------------------------------------------- --- 8. The Haskell REPL +-- 8. Haskell IO +---------------------------------------------------- + +-- While IO can't be explained fully without explaining monads +-- it is not hard to explain enough to get going + +-- An IO a value is an IO action: you can chain them with do blocks +action = do +   putStrLn "This is a line. Duh" +   input <- getLine -- this gets a line and gives it the name "input" +   input2 <- getLine +   return (input1++"\n"++input2) -- This is the result of the whole action + +-- This didn't actually do anything. When a haskell program is executed +-- an IO action called "main" is read and interprete + +main = do +    putStrLn "Our first program. How exciting!" +    result <- action -- our defined action is just like the default ones +    putStrLn result +    putStrLn "This was all, folks!" +    + + +---------------------------------------------------- +-- 9. The Haskell REPL  ----------------------------------------------------  -- Start the repl by typing `ghci`. | 
