Haskell Guard Syntax
checkDigit s
| s == '0' = True
| s == '1' = True
| s == '2' = True
| otherwise = False
--Guards in Haskell
myGuards x
| x < 0 = -1
| x > 0 = 1
| otherwise = 0
MultiWayIf Extension Example 1
{-# LANGUAGE MultiWayIf #-}
let s = "/usr/local/file.x"
let ss = case takeExt s of
var | var == "file.x" -> "file.x"
| otherwise -> "nothing"
MultiWayIf Extension Example 2
{-# LANGUAGE MultiWayIf #-}
let s = ":hsc split"
let ss = if | hasPrefix ":run" s -> ""
| hasPrefix ":rep" s -> ""
| hasPrefix ":del" s -> ""
| hasPrefix ":ls" s -> ""
| hasPrefix ":hsc" s -> ""
| otherwise -> s