module Language.PureScript.TypeClassDictionaries where
import Prelude.Compat
import Language.PureScript.Names
import Language.PureScript.Types
data TypeClassDictionaryInScope v
= TypeClassDictionaryInScope {
tcdValue :: v
, tcdPath :: [(Qualified (ProperName 'ClassName), Integer)]
, tcdClassName :: Qualified (ProperName 'ClassName)
, tcdInstanceTypes :: [Type]
, tcdDependencies :: Maybe [Constraint]
}
deriving (Show, Functor, Foldable, Traversable)
type NamedDict = TypeClassDictionaryInScope (Qualified Ident)