purescript-0.8.3.0: PureScript Programming Language Compiler

Safe HaskellNone
LanguageHaskell98

Language.PureScript.TypeChecker.Entailment

Description

Type class entailment

Synopsis

Documentation

type Context = Map (Maybe ModuleName) (Map (Qualified (ProperName ClassName)) (Map (Qualified Ident) TypeClassDictionaryInScope)) Source

The Context tracks those constraints which can be satisfied.

replaceTypeClassDictionaries :: (MonadError MultipleErrors m, MonadWriter MultipleErrors m, MonadSupply m) => Bool -> ModuleName -> Expr -> m (Expr, [(Ident, Constraint)]) Source

Replace type class dictionary placeholders with inferred type class dictionaries