Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Env = TypeEnv {}
- data Namespace
- data TypeMetadata ty = TypeMetadata {}
- closeOver :: Set TypeClass -> ImplType -> TCScheme
- closeOverType :: InfernoType -> TCScheme
- empty :: Env
- lookup :: ExtIdent -> Env -> Maybe (TypeMetadata TCScheme)
- lookupPinned :: VCObjectHash -> Env -> Maybe (TypeMetadata TCScheme)
- remove :: Env -> ExtIdent -> Env
- extend :: Env -> (ExtIdent, TypeMetadata TCScheme) -> Env
- merge :: Env -> Env -> Env
- mergeEnvs :: [Env] -> Env
- singleton :: ExtIdent -> TypeMetadata TCScheme -> Env
- keys :: Env -> [ExtIdent]
- fromList :: [(ExtIdent, TypeMetadata TCScheme)] -> Env
- fromListModule :: [(VCObjectHash, TypeMetadata TCScheme)] -> Env
- toList :: Env -> [(ExtIdent, TypeMetadata TCScheme)]
- normtype :: Map TV TV -> InfernoType -> InfernoType
- normTC :: (InfernoType -> InfernoType) -> TypeClass -> TypeClass
- fv :: InfernoType -> [TV]
- namespaceToIdent :: Namespace -> Ident
- generalize :: Set TypeClass -> ImplType -> TCScheme
Documentation
FunNamespace Ident | |
OpNamespace Ident | |
EnumNamespace Ident | |
ModuleNamespace ModuleName | |
TypeNamespace Ident |
Instances
data TypeMetadata ty #
Instances
closeOver :: Set TypeClass -> ImplType -> TCScheme Source #
Canonicalize and return the polymorphic toplevel type.
closeOverType :: InfernoType -> TCScheme Source #
lookupPinned :: VCObjectHash -> Env -> Maybe (TypeMetadata TCScheme) Source #
fromListModule :: [(VCObjectHash, TypeMetadata TCScheme)] -> Env Source #
normtype :: Map TV TV -> InfernoType -> InfernoType Source #
normTC :: (InfernoType -> InfernoType) -> TypeClass -> TypeClass Source #
fv :: InfernoType -> [TV] Source #
namespaceToIdent :: Namespace -> Ident #