purescript-0.8.1.0: PureScript Programming Language Compiler

Safe HaskellNone
LanguageHaskell98

Language.PureScript.TypeClassDictionaries

Synopsis

Documentation

data TypeClassDictionaryInScope Source

Data representing a type class dictionary which is in scope

Constructors

TypeClassDictionaryInScope 

Fields

tcdName :: Qualified Ident

The identifier with which the dictionary can be accessed at runtime

tcdPath :: [(Qualified (ProperName ClassName), Integer)]

How to obtain this instance via superclass relationships

tcdClassName :: Qualified (ProperName ClassName)

The name of the type class to which this type class instance applies

tcdInstanceTypes :: [Type]

The types to which this type class instance applies

tcdDependencies :: Maybe [Constraint]

Type class dependencies which must be satisfied to construct this dictionary

data DictionaryValue Source

A simplified representation of expressions which are used to represent type class dictionaries at runtime, which can be compared for equality

Constructors

LocalDictionaryValue (Qualified Ident)

A dictionary which is brought into scope by a local constraint

GlobalDictionaryValue (Qualified Ident)

A dictionary which is brought into scope by an instance declaration

DependentDictionaryValue (Qualified Ident) [DictionaryValue]

A dictionary which depends on other dictionaries

SubclassDictionaryValue DictionaryValue (Qualified (ProperName ClassName)) Integer

A subclass dictionary