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