Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data TypeSubst = TypeSubst (Map TypeVar Type) (Map Type (Maybe Type))
- mk :: Map TypeVar Type -> TypeSubst
- dest :: TypeSubst -> Map TypeVar Type
- fromList :: [(TypeVar, Type)] -> TypeSubst
- empty :: TypeSubst
- singleton :: TypeVar -> Type -> TypeSubst
- null :: TypeSubst -> Bool
- varSubst :: TypeVar -> TypeSubst -> Maybe Type
- dataSubst :: TypeData -> TypeSubst -> (Maybe Type, TypeSubst)
- class CanSubst a where
- compose :: TypeSubst -> TypeSubst -> TypeSubst
Documentation
class CanSubst a where Source #
basicSubst :: a -> TypeSubst -> (Maybe a, TypeSubst) Source #
sharingSubst :: a -> TypeSubst -> (Maybe a, TypeSubst) Source #
subst :: TypeSubst -> a -> Maybe a Source #
trySharingSubst :: a -> TypeSubst -> (a, TypeSubst) Source #
Instances
CanSubst Var Source # | |
Defined in HOL.TypeSubst | |
CanSubst Type Source # | |
Defined in HOL.TypeSubst | |
CanSubst a => CanSubst [a] Source # | |
Defined in HOL.TypeSubst | |
(Ord a, CanSubst a) => CanSubst (Set a) Source # | |