ermine-0.6: Ermine

Safe HaskellNone
LanguageHaskell2010

Ermine.Constraint.Simplification

Documentation

bySuper :: (AsConvention cc, Alternative m, MonadConstraint cc s m, Eq k, Eq t) => Type k t -> Type k t -> m (Scope b (Core cc) (Type k t)) Source

bySupers :: (AsConvention cc, Alternative m, MonadConstraint cc s m, Eq k, Eq t) => Type k t -> [Type k t] -> m (Scope b (Core cc) (Type k t)) Source

byInstance :: (AsConvention cc, Eq k, Eq t, Alternative m, MonadConstraint cc s m) => Type k t -> m (Scope b (Core cc) (Type k t)) Source

entails :: (AsConvention cc, Alternative m, MonadConstraint cc s m, Eq k, Eq t) => [Type k t] -> Type k t -> m (Scope b (Core cc) (Type k t)) Source

simplifyVia :: (AsConvention cc, MonadConstraint cc s m, Eq k, Eq t) => [Type k t] -> Scope b (Core cc) (Type k t) -> m (Scope b (Core cc) (Type k t)) Source