Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
This module is loosely based off Warnings for pattern matching by Luc Maranget
Synopsis
- type PatternM = State PatternEnv
- data PatternEnv
- runPatternM :: PatternM a -> PatternEnv
- isExhaustive :: PatternEnv -> [Pattern a] -> Bool
- patternEnvDecls :: [Declaration a] -> PatternM ()
- useful :: PatternEnv -> [Pattern a] -> Pattern a -> Bool
- specializeTuple :: Int -> [[Pattern a]] -> [[Pattern a]]
- specializeTag :: Name a -> [[Pattern a]] -> [[Pattern a]]
Documentation
type PatternM = State PatternEnv Source #
data PatternEnv Source #
runPatternM :: PatternM a -> PatternEnv Source #
isExhaustive :: PatternEnv -> [Pattern a] -> Bool Source #
patternEnvDecls :: [Declaration a] -> PatternM () Source #