Safe Haskell | None |
---|---|
Language | Haskell98 |
Documentation
Case CaseType Name [CaseAlt' t] | invariant: lowest tags first |
ProjCase t [CaseAlt' t] | special case for projections/thunk-forcing before inspection |
STerm !t | |
UnmatchedCase String | error message |
ImpossibleCase | already checked to be impossible |
type ErasureInfo = Name -> [Int] Source
simpleCase :: Bool -> SC -> Bool -> Phase -> FC -> [Int] -> [Type] -> [([Name], Term, Term)] -> ErasureInfo -> TC CaseDef Source
findUsedArgs :: SC -> [Name] -> [Name] Source