| 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 | 
HasCASL.DataAna
Description
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