Copyright | (c) Christian Maeder and Uni Bremen 2002-2005 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | Christian.Maeder@dfki.de |
Stability | provisional |
Portability | portable |
Safe Haskell | None |
analyse alternatives of data types
- data DataPat = DataPat IdMap Id [TypeArg] RawKind Type
- toDataPat :: DataEntry -> DataPat
- getConstrScheme :: DataPat -> Partiality -> [Type] -> TypeScheme
- getSelScheme :: DataPat -> Partiality -> Type -> TypeScheme
- anaAlts :: GenKind -> [DataPat] -> DataPat -> [Alternative] -> Env -> Result [AltDefn]
- makeDataSelEqs :: DataPat -> [AltDefn] -> [Named Sentence]
- inductionScheme :: [DataEntry] -> Term
- mkVarDecl :: Id -> Type -> VarDecl
Documentation
data DataPat
description of polymorphic data types. The top-level identifier is already renamed according the IdMap.
getConstrScheme :: DataPat -> Partiality -> [Type] -> TypeScheme
getSelScheme :: DataPat -> Partiality -> Type -> TypeScheme
anaAlts :: GenKind -> [DataPat] -> DataPat -> [Alternative] -> Env -> Result [AltDefn]
analyse the alternatives of a data type
makeDataSelEqs :: DataPat -> [AltDefn] -> [Named Sentence]
create selector equations for a data type
inductionScheme :: [DataEntry] -> Term