purescript-0.3.11: PureScript Programming Language Compiler

Safe HaskellNone

Language.PureScript.Sugar.TypeClasses

Description

This module implements the desugaring pass which creates type synonyms for type class dictionaries and dictionary expressions for type class instances.

Synopsis

Documentation

desugarTypeClasses :: [Module] -> Either String [Module]Source

Add type synonym declarations for type class dictionary types, and value declarations for type class instance dictionary expressions.

mkDictionaryValueName :: ModuleName -> Qualified ProperName -> Type -> Either String IdentSource

Generate a name for a type class dictionary, based on the module name, class name and type name

mkDictionaryEntryName :: ModuleName -> Qualified ProperName -> Type -> Ident -> Desugar IdentSource

Generate a name for a type class dictionary member, based on the module name, class name, type name and member name