hets -- a heterogenous Specification (CASL) tool setContentsIndex
HasCASL.Le
Portability portable
Stability experimental
Maintainer hets@tzi.de
Description
abstract syntax during static analysis
Synopsis
data ClassInfo = ClassInfo {
classKinds :: [Kind]
}
type ClassMap = Map ClassId ClassInfo
data GenKind
= Free
| Generated
| Loose
data AltDefn = Construct UninstOpId [Type] Partiality [Selector]
data Selector = Select UninstOpId Type Partiality
data TypeDefn
= NoTypeDefn
| PreDatatype
| Supertype Vars TypeScheme Term
| DatatypeDefn GenKind [TypeArg] [AltDefn]
| AliasTypeDefn TypeScheme
| TypeVarDefn
data TypeInfo = TypeInfo {
typeKind :: Kind
otherTypeKinds :: [Kind]
superTypes :: [Type]
typeDefn :: TypeDefn
}
isTypeVarDefn :: TypeInfo -> Bool
type TypeMap = Map TypeId TypeInfo
data OpInfo = OpInfo {
opType :: TypeScheme
opAttrs :: [OpAttr]
opDefn :: OpDefn
}
data ConstrInfo = ConstrInfo {
constrId :: UninstOpId
constrType :: TypeScheme
}
data OpDefn
= NoOpDefn OpBrand
| ConstructData TypeId
| SelectData [ConstrInfo] TypeId
| Definition OpBrand Term
| VarDefn
isVarDefn :: OpInfo -> Bool
data OpInfos = OpInfos {
opInfos :: [OpInfo]
}
type Assumps = Map UninstOpId OpInfos
type PrecMap = (Map Id Int, Int, Int)
data Env = Env {
classMap :: ClassMap
typeMap :: TypeMap
assumps :: Assumps
sentences :: [Named Term]
envDiags :: [Diagnosis]
preIds :: (PrecMap, Set Id)
counter :: Int
}
initialEnv :: Env
addDiags :: [Diagnosis] -> State Env ()
Documentation
data ClassInfo
Constructors
ClassInfo
classKinds :: [Kind]
Instances
ATermConvertible ClassInfo
Show ClassInfo
Eq ClassInfo
Mergeable ClassInfo
PrettyPrint ClassInfo
type ClassMap = Map ClassId ClassInfo
data GenKind
Constructors
Free
Generated
Loose
Instances
ATermConvertible GenKind
Show GenKind
Eq GenKind
data AltDefn
Constructors
Construct UninstOpId [Type] Partiality [Selector]
Instances
ATermConvertible AltDefn
Show AltDefn
Eq AltDefn
PrettyPrint AltDefn
data Selector
Constructors
Select UninstOpId Type Partiality
Instances
ATermConvertible Selector
Show Selector
Eq Selector
PrettyPrint Selector
data TypeDefn
Constructors
NoTypeDefn
PreDatatype
Supertype Vars TypeScheme Term
DatatypeDefn GenKind [TypeArg] [AltDefn]
AliasTypeDefn TypeScheme
TypeVarDefn
Instances
ATermConvertible TypeDefn
Show TypeDefn
Eq TypeDefn
PrettyPrint TypeDefn
data TypeInfo
Constructors
TypeInfo
typeKind :: Kind
otherTypeKinds :: [Kind]
superTypes :: [Type]
typeDefn :: TypeDefn
Instances
ATermConvertible TypeInfo
Show TypeInfo
Eq TypeInfo
PrettyPrint TypeInfo
isTypeVarDefn :: TypeInfo -> Bool
type TypeMap = Map TypeId TypeInfo
data OpInfo
Constructors
OpInfo
opType :: TypeScheme
opAttrs :: [OpAttr]
opDefn :: OpDefn
Instances
ATermConvertible OpInfo
Show OpInfo
Eq OpInfo
PrettyPrint OpInfo
data ConstrInfo
Constructors
ConstrInfo
constrId :: UninstOpId
constrType :: TypeScheme
Instances
ATermConvertible ConstrInfo
Show ConstrInfo
Eq ConstrInfo
PrettyPrint ConstrInfo
data OpDefn
Constructors
NoOpDefn OpBrand
ConstructData TypeId
SelectData [ConstrInfo] TypeId
Definition OpBrand Term
VarDefn
Instances
ATermConvertible OpDefn
Show OpDefn
Eq OpDefn
Mergeable OpDefn
PrettyPrint OpDefn
isVarDefn :: OpInfo -> Bool
data OpInfos
Constructors
OpInfos
opInfos :: [OpInfo]
Instances
ATermConvertible OpInfos
Show OpInfos
Eq OpInfos
PrettyPrint OpInfos
type Assumps = Map UninstOpId OpInfos
type PrecMap = (Map Id Int, Int, Int)
data Env
Constructors
Env
classMap :: ClassMap
typeMap :: TypeMap
assumps :: Assumps
sentences :: [Named Term]
envDiags :: [Diagnosis]
preIds :: (PrecMap, Set Id)
counter :: Int
Instances
Comorphism CASL2HasCASL CASL CASL_Sublogics BASIC_SPEC FORMULA SYMB_ITEMS SYMB_MAP_ITEMS Sign Morphism Symbol RawSymbol () HasCASL HasCASL_Sublogics BasicSpec Term SymbItems SymbMapItems Env Morphism Symbol RawSymbol ()
ATermConvertible Env
Show Env
Eq Env
Typeable Env
Category HasCASL Env Morphism
Sentences HasCASL Term () Env Morphism Symbol
StaticAnalysis HasCASL BasicSpec Term () SymbItems SymbMapItems Env Morphism Symbol RawSymbol
Logic HasCASL HasCASL_Sublogics BasicSpec Term SymbItems SymbMapItems Env Morphism Symbol RawSymbol ()
PrettyPrint Env
initialEnv :: Env
addDiags :: [Diagnosis] -> State Env ()
add diagnostic messages
Produced by Haddock version 0.6