Safe Haskell | Safe-Infered |
---|
- data ClassSubst = ClassSubst
- deSubst :: (Embedded ClassSubst (s (StateFixT s m)) t, Monad m) => Select t (StateFixT s m) a -> StateFixT s m a
- class Monad m => HasSubst m info | m -> info where
- makeSubstConsistent :: m ()
- unifyTerms :: info -> Tp -> Tp -> m ()
- findSubstForVar :: Int -> m Tp
- fixpointSubst :: m FixpointSubstitution
- unificationErrorLabel :: ErrorLabel
- applySubst :: (Substitutable a, HasSubst m info) => a -> m a
Documentation
data ClassSubst Source
Embedded ClassSubst (GreedyState info) (GreedyState info) | |
Embedded ClassSubst (SimpleState info) (SimpleState info) | |
Embedded ClassSubst (TypeGraphState info) (TypeGraphState info) | |
Embedded ClassSubst (Simple (GreedyState info) m b) (GreedyState info) | |
Embedded ClassSubst (Simple (SimpleState info) x m) (SimpleState info) | |
Embedded ClassSubst (Simple (TypeGraphState info) x m) (TypeGraphState info) |
deSubst :: (Embedded ClassSubst (s (StateFixT s m)) t, Monad m) => Select t (StateFixT s m) a -> StateFixT s m aSource
class Monad m => HasSubst m info | m -> info whereSource
makeSubstConsistent :: m ()Source
Make the state consistent. Only relevant for substitution states that can be inconsistent (for instance, the type graph substitution state).
unifyTerms :: info -> Tp -> Tp -> m ()Source
Unify two terms. Supply additional information for this unification.
findSubstForVar :: Int -> m TpSource
Lookup the value of a type variable in the substitution
fixpointSubst :: m FixpointSubstitutionSource
Return a fixpoint substitution.
(Monad m, Embedded ClassSubst (s (StateFixT s m)) t, HasSubst (Select t (StateFixT s m)) info) => HasSubst (StateFixT s m) info | |
(MonadState s m, HasBasic m info, HasTI m info, Embedded ClassSubst s (GreedyState info)) => HasSubst (Select (GreedyState info) m) info | |
(MonadState s m, HasBasic m info, HasTI m info, Embedded ClassSubst s (SimpleState info)) => HasSubst (Select (SimpleState info) m) info | |
(HasBasic m info, HasTI m info, HasQual m info, HasTG m info, MonadWriter LogEntries m, Show info, MonadState s m, Embedded ClassSubst s (TypeGraphState info)) => HasSubst (Select (TypeGraphState info) m) info |
applySubst :: (Substitutable a, HasSubst m info) => a -> m aSource
Apply the substitution to a value that contains type variables (a member of the Substitutable type class).