Safe Haskell | None |
---|
Documentation
data Environment Source
Environment | |
|
data AnyUnifiable whereSource
AnyUnifiable :: forall t. Unifiable t => t -> AnyUnifiable |
data CheckState Source
putEnv :: Environment -> Check ()Source
modifyEnv :: (Environment -> Environment) -> Check ()Source
guardWith :: MonadError e m => e -> Bool -> m ()Source
rethrow :: MonadError e m => (e -> e) -> m a -> m aSource
withModule :: ProperName -> Check a -> Check aSource
newtype Substitution Source
Substitution | |
|
data SubstState Source
Subst | |
|
MonadTrans Subst | |
MonadError String m => MonadError String (Subst m) | |
Monad m => Monad (Subst m) | |
Functor m => Functor (Subst m) | |
MonadPlus m => MonadPlus (Subst m) | |
(Monad m, Functor m) => Applicative (Subst m) |
runSubst :: (Unifiable a, Monad m) => Subst m a -> m (a, Substitution, [AnyUnifiable])Source
substituteWith :: Typeable t => (Unknown t -> t) -> SubstitutionSource
substituteOne :: Unifiable t => Unknown t -> t -> SubstitutionSource
class (Typeable t, Data t, Show t) => Unifiable t whereSource
escapeCheckLater :: Unifiable t => t -> Subst Check ()Source