diff options
| author | Julien Cretel <j.cretel@umail.ucc.ie> | 2014-11-21 17:28:38 +0000 | 
|---|---|---|
| committer | Julien Cretel <j.cretel@umail.ucc.ie> | 2014-11-21 17:44:26 +0000 | 
| commit | 458bbd063ad78c3ba6b0d114226f94edf0dab708 (patch) | |
| tree | 00a4364f5a5be99174572eb01e7f8311f9da67c3 /haskell.html.markdown | |
| parent | c37478f5b3902de1988d55d4748d16d48649b80c (diff) | |
Fix some inaccuracies in haskell.html.markdown
- The bottom of the "List and Tuples" section may mislead the reader
  into thinking that the `fst` and `snd` functions can be applied to any
  tuple; it's worth mentioning that those functions only apply to pairs.
- The example demonstrating the use of the function-application operator
  (`$`) in combination with the function-composition operator (`.`) seems a
  bit contrived. For completeness, I've added an example that uses `$` alone.
- "If statements" and "case statements" are actually expressions, in
  Haskell; I've replaced all occurences of the word "statement" appearing in
  that context by the word "expression".
- Minor wording improvement (replaced "because" by a semicolon).
Diffstat (limited to 'haskell.html.markdown')
| -rw-r--r-- | haskell.html.markdown | 19 | 
1 files changed, 11 insertions, 8 deletions
| diff --git a/haskell.html.markdown b/haskell.html.markdown index 2785405c..748a29da 100644 --- a/haskell.html.markdown +++ b/haskell.html.markdown @@ -110,7 +110,7 @@ last [1..5] -- 5  -- A tuple:  ("haskell", 1) --- accessing elements of a tuple +-- accessing elements of a pair (i.e. a tuple of length 2)  fst ("haskell", 1) -- "haskell"  snd ("haskell", 1) -- 1 @@ -195,8 +195,8 @@ foo 5 -- 75  -- fixing precedence  -- Haskell has another function called `$`. This changes the precedence  -- so that everything to the left of it gets computed first and then applied --- to everything on the right. You can use `.` and `$` to get rid of a lot --- of parentheses: +-- to everything on the right. You can use `$` (often in combination with `.`) +-- to get rid of a lot of parentheses:  -- before  (even (fib 7)) -- true @@ -204,6 +204,9 @@ foo 5 -- 75  -- after  even . fib $ 7 -- true +-- equivalently +even $ fib 7 -- true +  ----------------------------------------------------  -- 5. Type signatures  ---------------------------------------------------- @@ -227,24 +230,24 @@ double :: Integer -> Integer  double x = x * 2  ---------------------------------------------------- --- 6. Control Flow and If Statements +-- 6. Control Flow and If Expressions  ---------------------------------------------------- --- if statements +-- if expressions  haskell = if 1 == 1 then "awesome" else "awful" -- haskell = "awesome" --- if statements can be on multiple lines too, indentation is important +-- if expressions can be on multiple lines too, indentation is important  haskell = if 1 == 1              then "awesome"              else "awful" --- case statements: Here's how you could parse command line arguments +-- case expressions: Here's how you could parse command line arguments  case args of    "help" -> printHelp    "start" -> startProgram    _ -> putStrLn "bad args" --- Haskell doesn't have loops because it uses recursion instead. +-- Haskell doesn't have loops; it uses recursion instead.  -- map applies a function over every element in an array  map (*2) [1..5] -- [2, 4, 6, 8, 10] | 
