purescript-0.10.0: PureScript Programming Language Compiler

Safe HaskellNone
LanguageHaskell98

Language.PureScript.TypeChecker.Entailment

Description

Type class entailment

Synopsis

Documentation

replaceTypeClassDictionaries :: forall m. (MonadState CheckState m, MonadError MultipleErrors m, MonadWriter MultipleErrors m, MonadSupply m) => Bool -> Expr -> m (Expr, [(Ident, Constraint)]) Source #

Replace type class dictionary placeholders with inferred type class dictionaries

newDictionaries :: MonadState CheckState m => [(Qualified (ProperName ClassName), Integer)] -> Qualified Ident -> Constraint -> m [TypeClassDictionaryInScope] Source #

Add a dictionary for the constraint to the scope, and dictionaries for all implied superclass instances.