1module Language.PureScript.TypeClassDictionaries where
5import Language.PureScript.Names
6import Language.PureScript.Types
9-- Data representing a type class dictionary which is in scope
11data TypeClassDictionaryInScope
12 = TypeClassDictionaryInScope {
13 -- | The identifier with which the dictionary can be accessed at runtime
14 tcdName :: Qualified Ident
15 -- | How to obtain this instance via superclass relationships
16 , tcdPath :: [(Qualified (ProperName 'ClassName), Integer)]
17 -- | The name of the type class to which this type class instance applies
18 , tcdClassName :: Qualified (ProperName 'ClassName)
19 -- | The types to which this type class instance applies
20 , tcdInstanceTypes :: [Type]
21 -- | Type class dependencies which must be satisfied to construct this dictionary
22 , tcdDependencies :: Maybe [Constraint]
27-- A simplified representation of expressions which are used to represent type
28-- class dictionaries at runtime, which can be compared for equality
32 -- A dictionary which is brought into scope by a local constraint
34 = LocalDictionaryValue (Qualified Ident)
36 -- A dictionary which is brought into scope by an instance declaration
38 | GlobalDictionaryValue (Qualified Ident)
40 -- A dictionary which depends on other dictionaries
42 | DependentDictionaryValue (Qualified Ident) [DictionaryValue]
44 -- A subclass dictionary
46 | SubclassDictionaryValue DictionaryValue (Qualified (ProperName 'ClassName)) Integer
47 deriving (Show, Read, Ord, Eq)
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list