hets -- a heterogenous Specification (CASL) tool setContentsIndex
HasCASL.Morphism
Portability portable
Stability provisional
Maintainer hets@tzi.de
Description
Morphism on Env (as for CASL)
Synopsis
data SymbolType
= OpAsItemType TySc
| TypeAsItemType Kind
| ClassAsItemType Kind
data Symbol = Symbol {
symName :: Id
symbType :: SymbolType
}
data RawSymbol
= ASymbol Symbol
| AnID Id
| AKindedId SymbKind Id
type SymbolMap = Map Symbol Symbol
idToTypeSymbol :: Id -> Kind -> Symbol
idToOpSymbol :: Id -> TySc -> Symbol
idToRaw :: Id -> RawSymbol
symbTypeToKind :: SymbolType -> SymbKind
symbolToRaw :: Symbol -> RawSymbol
symOf :: Env -> Set Symbol
statSymbMapItems :: [SymbMapItems] -> Result (Map RawSymbol RawSymbol)
symbOrMapToRaw :: SymbKind -> SymbOrMap -> (RawSymbol, RawSymbol)
statSymbItems :: [SymbItems] -> Result [RawSymbol]
symbToRaw :: SymbKind -> Symb -> RawSymbol
symbKindToRaw :: SymbKind -> Id -> RawSymbol
matchSymb :: Symbol -> RawSymbol -> Bool
rawSymName :: RawSymbol -> Id
type IdMap = Map Id Id
mapType :: IdMap -> Type -> Type
mapTypeScheme :: IdMap -> TypeScheme -> TypeScheme
mapTySc :: IdMap -> TySc -> TySc
data TySc = TySc TypeScheme
type FunMap = Map (Id, TySc) (Id, TySc)
mapFunSym :: IdMap -> FunMap -> (Id, TySc) -> Maybe (Id, TySc)
mergeOpInfos :: TypeMap -> Int -> OpInfos -> OpInfos -> Result OpInfos
mergeOps :: TypeMap -> Int -> [OpInfo] -> [OpInfo] -> Result [OpInfo]
mergeEnv :: Env -> Env -> Result Env
data Morphism = Morphism {
msource :: Env
mtarget :: Env
classIdMap :: IdMap
typeIdMap :: IdMap
funMap :: FunMap
}
mkMorphism :: Env -> Env -> Morphism
ideMor :: Env -> Morphism
compMor :: Morphism -> Morphism -> Maybe Morphism
isSubEnv :: Env -> Env -> Bool
inclusionMor :: Env -> Env -> Result Morphism
embedMorphism :: Env -> Env -> Morphism
symbMapToMorphism :: Env -> Env -> SymbolMap -> Result Morphism
legalEnv :: Env -> Bool
legalMor :: Morphism -> Bool
morphismUnion :: Morphism -> Morphism -> Result Morphism
morphismToSymbMap :: Morphism -> Map Symbol Symbol
compatibleOpTypes :: TypeScheme -> TypeScheme -> Bool
Documentation
data SymbolType
Constructors
OpAsItemType TySc
TypeAsItemType Kind
ClassAsItemType Kind
Instances
ATermConvertible SymbolType
PrettyPrint SymbolType
Show SymbolType
Eq SymbolType
Ord SymbolType
data Symbol
Constructors
Symbol
symName :: Id
symbType :: SymbolType
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 Symbol
Typeable Symbol
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 Symbol
Show Symbol
Eq Symbol
Ord Symbol
data RawSymbol
Constructors
ASymbol Symbol
AnID Id
AKindedId SymbKind Id
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 RawSymbol
Typeable RawSymbol
StaticAnalysis HasCASL BasicSpec Term () SymbItems SymbMapItems Env Morphism Symbol RawSymbol
Logic HasCASL HasCASL_Sublogics BasicSpec Term SymbItems SymbMapItems Env Morphism Symbol RawSymbol ()
PrettyPrint RawSymbol
Show RawSymbol
Eq RawSymbol
Ord RawSymbol
type SymbolMap = Map Symbol Symbol
idToTypeSymbol :: Id -> Kind -> Symbol
idToOpSymbol :: Id -> TySc -> Symbol
idToRaw :: Id -> RawSymbol
symbTypeToKind :: SymbolType -> SymbKind
symbolToRaw :: Symbol -> RawSymbol
symOf :: Env -> Set Symbol
statSymbMapItems :: [SymbMapItems] -> Result (Map RawSymbol RawSymbol)
symbOrMapToRaw :: SymbKind -> SymbOrMap -> (RawSymbol, RawSymbol)
statSymbItems :: [SymbItems] -> Result [RawSymbol]
symbToRaw :: SymbKind -> Symb -> RawSymbol
symbKindToRaw :: SymbKind -> Id -> RawSymbol
matchSymb :: Symbol -> RawSymbol -> Bool
rawSymName :: RawSymbol -> Id
type IdMap = Map Id Id
mapType :: IdMap -> Type -> Type
mapTypeScheme :: IdMap -> TypeScheme -> TypeScheme
mapTySc :: IdMap -> TySc -> TySc
data TySc
Constructors
TySc TypeScheme
Instances
ATermConvertible TySc
Eq TySc
Ord TySc
Show TySc
type FunMap = Map (Id, TySc) (Id, TySc)
mapFunSym :: IdMap -> FunMap -> (Id, TySc) -> Maybe (Id, TySc)
mergeOpInfos :: TypeMap -> Int -> OpInfos -> OpInfos -> Result OpInfos
mergeOps :: TypeMap -> Int -> [OpInfo] -> [OpInfo] -> Result [OpInfo]
mergeEnv :: Env -> Env -> Result Env
data Morphism
Constructors
Morphism
msource :: Env
mtarget :: Env
classIdMap :: IdMap
typeIdMap :: IdMap
funMap :: FunMap
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 Morphism
Typeable Morphism
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 Morphism
Eq Morphism
Show Morphism
mkMorphism :: Env -> Env -> Morphism
ideMor :: Env -> Morphism
compMor :: Morphism -> Morphism -> Maybe Morphism
isSubEnv :: Env -> Env -> Bool
inclusionMor :: Env -> Env -> Result Morphism
embedMorphism :: Env -> Env -> Morphism
symbMapToMorphism :: Env -> Env -> SymbolMap -> Result Morphism
legalEnv :: Env -> Bool
legalMor :: Morphism -> Bool
morphismUnion :: Morphism -> Morphism -> Result Morphism
morphismToSymbMap :: Morphism -> Map Symbol Symbol
compatibleOpTypes :: TypeScheme -> TypeScheme -> Bool
Check if two OpTypes are equal except from totality or partiality
Produced by Haddock version 0.6