-- 書き換え前
\x -> case x of ...
-- 書き換え後
\case ...
isZero :: Int -> Bool
isZero 0 = True
isZero 1 = False
-- LambdaCase で書いた場合
isZero :: Int -> Bool
isZero = \case
0 -> True
1 -> False
f :: IO ()
f = do
x <- g
caee x of
...
-- LambdaCase で書いた場合
f :: IO ()
f = do
g >>= \case
...
do
cmd <- getLine >>= pure . \case
"run" -> ...
"delete" -> ...
"etc" -> ...