ermine-0.6: Ermine

Safe HaskellNone
LanguageHaskell2010

Ermine.Constraint.Env

Documentation

class (cc ~ Cv m, MonadMeta s m) => MonadConstraint cc s m where Source

Associated Types

type Cv m Source

Instances

MonadConstraint cc s m => MonadConstraint cc s (MaybeT m) 
MonadConstraint cc s (CM cc s) 

newtype CM cc s a Source

Constructors

CM 

Fields

runCM :: ConstraintEnv cc -> M s a
 

Instances

MonadConstraint cc s (CM cc s) 
MonadMeta s (CM cc s) 
Monad (CM cc s) 
Functor (CM cc s) 
Applicative (CM cc s) 
MonadST (CM cc s) 
type World (CM cc s) = s 
type Cv (CM cc s) = cc 

class HasConstraintEnv t cc | t -> cc where Source

Minimal complete definition

constraintEnv

Methods

constraintEnv :: Lens' t (ConstraintEnv cc) Source

classes :: Lens' t (Map Global Class) Source

instances :: Lens' t (Map Global [Instance cc]) Source

Instances

viewConstraint :: MonadConstraint cc s m => Getting a (ConstraintEnv cc) a -> m a Source

superclasses :: MonadConstraint cc s m => Type k t -> m [Type k t] Source