packages feed

stan-0.1.3.0: target/Target/AntiPattern/Stan0213.hs

{-# OPTIONS_GHC -Wno-missing-export-lists #-}

{- | Sum types pattern matching on @_@ -}

module Target.AntiPattern.Stan0213 where



stanLambda :: Ordering -> String
stanLambda = \case
    EQ -> "EQ"
    _ -> "Other"

stanLambdaLit :: Int -> String
stanLambdaLit = \case
    1 -> "One"
    _ -> "Other"

stanCase :: Ordering -> String
stanCase o = case o of
    EQ -> "EQ"
    LT -> "LT"
    _  -> "Other"

stanCaseLit :: String -> String
stanCaseLit str = case 'x' : str of
    "xAbc" -> "Here"
    "xBcc" -> "There"
    _      -> "Far far away"

stanCaseNo :: Ordering -> String
stanCaseNo o = case o of
    EQ -> "EQ"
    LT -> "LT"
    GT -> "GT"

stanLambdaNo :: Ordering -> String
stanLambdaNo = \case
    EQ -> "EQ"
    LT -> "LT"
    GT -> "GT"

stanMaybeCase :: Int -> Maybe Int -> Int
stanMaybeCase i mb = case mb of
    Just x -> x + 1
    _      -> i + 1

stanMaybeLambdaCase :: Int -> Maybe Int -> Int
stanMaybeLambdaCase i = \case
    Just x -> x + 1
    _      -> i + 1

stanMaybeLambdaCaseNo :: Int -> Maybe Int -> Int
stanMaybeLambdaCaseNo i = \case
    Just x -> x + 1
    Nothing -> i + 1

stanMaybeLambdaCaseFirst_ :: Int -> Maybe Int -> Int
stanMaybeLambdaCaseFirst_ i = \case
    _ -> i + 1

stanLambdaLitChar :: Char -> String
stanLambdaLitChar = \case
    'c' -> "One"
    _ -> "Other"