Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Types.TypeCategory
Documentation
data AnyCategory c Source #
Constructors
ValueInterface | |
Fields
| |
InstanceInterface | |
Fields
| |
ValueConcrete | |
Fields
|
Instances
Show c => Show (AnyCategory c) Source # | |
Defined in Types.TypeCategory Methods showsPrec :: Int -> AnyCategory c -> ShowS # show :: AnyCategory c -> String # showList :: [AnyCategory c] -> ShowS # | |
ParseFromSource (AnyCategory SourceContext) Source # | |
Defined in Parser.TypeCategory Methods sourceParser :: TextParser (AnyCategory SourceContext) Source # |
data CallArgLabel c Source #
Constructors
CallArgLabel | |
Fields
|
Instances
Show c => Show (CallArgLabel c) Source # | |
Defined in Types.TypeCategory Methods showsPrec :: Int -> CallArgLabel c -> ShowS # show :: CallArgLabel c -> String # showList :: [CallArgLabel c] -> ShowS # | |
Eq c => Eq (CallArgLabel c) Source # | |
Defined in Types.TypeCategory Methods (==) :: CallArgLabel c -> CallArgLabel c -> Bool # (/=) :: CallArgLabel c -> CallArgLabel c -> Bool # | |
Ord c => Ord (CallArgLabel c) Source # | |
Defined in Types.TypeCategory Methods compare :: CallArgLabel c -> CallArgLabel c -> Ordering # (<) :: CallArgLabel c -> CallArgLabel c -> Bool # (<=) :: CallArgLabel c -> CallArgLabel c -> Bool # (>) :: CallArgLabel c -> CallArgLabel c -> Bool # (>=) :: CallArgLabel c -> CallArgLabel c -> Bool # max :: CallArgLabel c -> CallArgLabel c -> CallArgLabel c # min :: CallArgLabel c -> CallArgLabel c -> CallArgLabel c # | |
ParseFromSource (CallArgLabel SourceContext) Source # | |
Defined in Parser.TypeCategory Methods sourceParser :: TextParser (CallArgLabel SourceContext) Source # |
data CategoryMap c Source #
Constructors
CategoryMap | |
Fields
|
newtype CategoryResolver c Source #
Constructors
CategoryResolver | |
Fields
|
Instances
Show c => TypeResolver (CategoryResolver c) Source # | |
Defined in Types.TypeCategory Methods trRefines :: CollectErrorsM m => CategoryResolver c -> TypeInstance -> CategoryName -> m InstanceParams Source # trDefines :: CollectErrorsM m => CategoryResolver c -> TypeInstance -> CategoryName -> m InstanceParams Source # trVariance :: CollectErrorsM m => CategoryResolver c -> CategoryName -> m InstanceVariances Source # trTypeFilters :: CollectErrorsM m => CategoryResolver c -> TypeInstance -> m InstanceFilters Source # trDefinesFilters :: CollectErrorsM m => CategoryResolver c -> DefinesInstance -> m InstanceFilters Source # trConcrete :: CollectErrorsM m => CategoryResolver c -> CategoryName -> m Bool Source # trImmutable :: CollectErrorsM m => CategoryResolver c -> CategoryName -> m Bool Source # |
data FunctionName Source #
Constructors
FunctionName | |
BuiltinPresent | |
BuiltinReduce | |
BuiltinRequire | |
BuiltinStrong | |
BuiltinIdentify | |
BuiltinTypename |
Instances
Show FunctionName Source # | |
Defined in Types.TypeCategory Methods showsPrec :: Int -> FunctionName -> ShowS # show :: FunctionName -> String # showList :: [FunctionName] -> ShowS # | |
Eq FunctionName Source # | |
Defined in Types.TypeCategory | |
Ord FunctionName Source # | |
Defined in Types.TypeCategory Methods compare :: FunctionName -> FunctionName -> Ordering # (<) :: FunctionName -> FunctionName -> Bool # (<=) :: FunctionName -> FunctionName -> Bool # (>) :: FunctionName -> FunctionName -> Bool # (>=) :: FunctionName -> FunctionName -> Bool # max :: FunctionName -> FunctionName -> FunctionName # min :: FunctionName -> FunctionName -> FunctionName # | |
ParseFromSource FunctionName Source # | |
Defined in Parser.TypeCategory Methods |
data FunctionVisibility c Source #
Constructors
FunctionVisibility | |
Fields
| |
FunctionVisibilityDefault |
Instances
Show c => Show (FunctionVisibility c) Source # | |
Defined in Types.TypeCategory Methods showsPrec :: Int -> FunctionVisibility c -> ShowS # show :: FunctionVisibility c -> String # showList :: [FunctionVisibility c] -> ShowS # | |
Eq c => Eq (FunctionVisibility c) Source # | |
Defined in Types.TypeCategory Methods (==) :: FunctionVisibility c -> FunctionVisibility c -> Bool # (/=) :: FunctionVisibility c -> FunctionVisibility c -> Bool # | |
ParseFromSource (FunctionVisibility SourceContext) Source # | |
Defined in Parser.TypeCategory Methods sourceParser :: TextParser (FunctionVisibility SourceContext) Source # |
Constructors
StaticNamespace | |
NoNamespace | |
PublicNamespace | |
PrivateNamespace |
Instances
Show Namespace Source # | |
Eq Namespace Source # | |
Ord Namespace Source # | |
data ParamFilter c Source #
Constructors
ParamFilter | |
Fields
|
Instances
Show c => Show (ParamFilter c) Source # | |
Defined in Types.TypeCategory Methods showsPrec :: Int -> ParamFilter c -> ShowS # show :: ParamFilter c -> String # showList :: [ParamFilter c] -> ShowS # |
data PassedValue c Source #
Constructors
PassedValue | |
Instances
Show c => Show (PassedValue c) Source # | |
Defined in Types.TypeCategory Methods showsPrec :: Int -> PassedValue c -> ShowS # show :: PassedValue c -> String # showList :: [PassedValue c] -> ShowS # |
data PatternMatch Source #
Constructors
TypePattern | |
DefinesPattern | |
Fields |
Instances
Show PatternMatch Source # | |
Defined in Types.TypeCategory Methods showsPrec :: Int -> PatternMatch -> ShowS # show :: PatternMatch -> String # showList :: [PatternMatch] -> ShowS # |
data PragmaCategory c Source #
Constructors
CategoryImmutable | |
Fields
|
Instances
Show c => Show (PragmaCategory c) Source # | |
Defined in Types.TypeCategory Methods showsPrec :: Int -> PragmaCategory c -> ShowS # show :: PragmaCategory c -> String # showList :: [PragmaCategory c] -> ShowS # |
data ScopedFunction c Source #
Constructors
ScopedFunction | |
Fields
|
Instances
Show c => Show (ScopedFunction c) Source # | |
Defined in Types.TypeCategory Methods showsPrec :: Int -> ScopedFunction c -> ShowS # show :: ScopedFunction c -> String # showList :: [ScopedFunction c] -> ShowS # |
data SymbolScope Source #
Constructors
LocalScope | |
CategoryScope | |
TypeScope | |
ValueScope |
Instances
Show SymbolScope Source # | |
Defined in Types.TypeCategory Methods showsPrec :: Int -> SymbolScope -> ShowS # show :: SymbolScope -> String # showList :: [SymbolScope] -> ShowS # | |
Eq SymbolScope Source # | |
Defined in Types.TypeCategory | |
Ord SymbolScope Source # | |
Defined in Types.TypeCategory Methods compare :: SymbolScope -> SymbolScope -> Ordering # (<) :: SymbolScope -> SymbolScope -> Bool # (<=) :: SymbolScope -> SymbolScope -> Bool # (>) :: SymbolScope -> SymbolScope -> Bool # (>=) :: SymbolScope -> SymbolScope -> Bool # max :: SymbolScope -> SymbolScope -> SymbolScope # min :: SymbolScope -> SymbolScope -> SymbolScope # |
data ValueDefine c Source #
Constructors
ValueDefine | |
Fields
|
Instances
Show c => Show (ValueDefine c) Source # | |
Defined in Types.TypeCategory Methods showsPrec :: Int -> ValueDefine c -> ShowS # show :: ValueDefine c -> String # showList :: [ValueDefine c] -> ShowS # |
data ValueParam c Source #
Constructors
ValueParam | |
Fields
|
Instances
Show c => Show (ValueParam c) Source # | |
Defined in Types.TypeCategory Methods showsPrec :: Int -> ValueParam c -> ShowS # show :: ValueParam c -> String # showList :: [ValueParam c] -> ShowS # |
data ValueRefine c Source #
Constructors
ValueRefine | |
Fields
|
Instances
Show c => Show (ValueRefine c) Source # | |
Defined in Types.TypeCategory Methods showsPrec :: Int -> ValueRefine c -> ShowS # show :: ValueRefine c -> String # showList :: [ValueRefine c] -> ShowS # |
checkCategoryInstances :: (Show c, CollectErrorsM m) => CategoryMap c -> [AnyCategory c] -> m () Source #
checkConnectedTypes :: (Show c, CollectErrorsM m) => CategoryMap c -> [AnyCategory c] -> m () Source #
checkConnectionCycles :: (Show c, CollectErrorsM m) => CategoryMap c -> [AnyCategory c] -> m () Source #
checkFunctionCallVisibility :: (Show c, CollectErrorsM m, TypeResolver r) => r -> ParamFilters -> ScopedFunction c -> GeneralInstance -> m () Source #
checkParamVariances :: (Show c, CollectErrorsM m) => CategoryMap c -> [AnyCategory c] -> m () Source #
declareAllTypes :: (Show c, CollectErrorsM m) => CategoryMap c -> [AnyCategory c] -> m (CategoryMap c) Source #
flattenAllConnections :: (Show c, CollectErrorsM m) => CategoryMap c -> [AnyCategory c] -> m [AnyCategory c] Source #
formatFullContext :: Show a => [a] -> String Source #
formatFullContextBrace :: Show a => [a] -> String Source #
getCategory :: (Show c, CollectErrorsM m) => CategoryMap c -> ([c], CategoryName) -> m ([c], AnyCategory c) Source #
getCategoryContext :: AnyCategory c -> [c] Source #
getCategoryDefines :: AnyCategory c -> [ValueDefine c] Source #
getCategoryDeps :: AnyCategory c -> Set CategoryName Source #
getCategoryFilterMap :: CollectErrorsM m => AnyCategory c -> m ParamFilters Source #
getCategoryFilters :: AnyCategory c -> [ParamFilter c] Source #
getCategoryFunctions :: AnyCategory c -> [ScopedFunction c] Source #
getCategoryName :: AnyCategory c -> CategoryName Source #
getCategoryNamespace :: AnyCategory c -> Namespace Source #
getCategoryParamMap :: AnyCategory c -> ParamValues Source #
getCategoryParamSet :: CollectErrorsM m => AnyCategory c -> m (Set ParamName) Source #
getCategoryParams :: AnyCategory c -> [ValueParam c] Source #
getCategoryPragmas :: AnyCategory c -> [PragmaCategory c] Source #
getCategoryRefines :: AnyCategory c -> [ValueRefine c] Source #
getConcreteCategory :: (Show c, CollectErrorsM m) => CategoryMap c -> ([c], CategoryName) -> m ([c], AnyCategory c) Source #
getFilterMap :: CollectErrorsM m => [ValueParam c] -> [ParamFilter c] -> m ParamFilters Source #
getFunctionFilterMap :: CollectErrorsM m => ScopedFunction c -> m ParamFilters Source #
getInstanceCategory :: (Show c, CollectErrorsM m) => CategoryMap c -> ([c], CategoryName) -> m ([c], AnyCategory c) Source #
getValueCategory :: (Show c, CollectErrorsM m) => CategoryMap c -> ([c], CategoryName) -> m ([c], AnyCategory c) Source #
guessesFromFilters :: CollectErrorsM m => ParamFilters -> ValueType -> ValueType -> m [PatternMatch] Source #
includeNewTypes :: (Show c, CollectErrorsM m) => CategoryMap c -> [AnyCategory c] -> m (CategoryMap c) Source #
inferParamTypes :: (CollectErrorsM m, TypeResolver r) => r -> ParamFilters -> ParamValues -> [PatternMatch] -> m (MergeTree InferredTypeGuess) Source #
isCategoryImmutable :: PragmaCategory c -> Bool Source #
isInstanceInterface :: AnyCategory c -> Bool Source #
isNoNamespace :: Namespace -> Bool Source #
isPrivateNamespace :: Namespace -> Bool Source #
isPublicNamespace :: Namespace -> Bool Source #
isStaticNamespace :: Namespace -> Bool Source #
isValueConcrete :: AnyCategory c -> Bool Source #
isValueInterface :: AnyCategory c -> Bool Source #
matchesCallArgLabel :: CallArgLabel c -> String -> Bool Source #
mergeDefines :: (CollectErrorsM m, TypeResolver r) => r -> ParamFilters -> [ValueDefine c] -> m [ValueDefine c] Source #
mergeFunctions :: (Show c, CollectErrorsM m, TypeResolver r) => r -> CategoryMap c -> ParamValues -> ParamFilters -> [ValueRefine c] -> [ValueDefine c] -> [ScopedFunction c] -> m [ScopedFunction c] Source #
mergeInferredTypes :: (CollectErrorsM m, TypeResolver r) => r -> ParamFilters -> ParamFilters -> ParamValues -> MergeTree InferredTypeGuess -> m ParamValues Source #
mergeRefines :: (CollectErrorsM m, TypeResolver r) => r -> ParamFilters -> [ValueRefine c] -> m [ValueRefine c] Source #
noDuplicateDefines :: (Show c, CollectErrorsM m) => [c] -> CategoryName -> [ValueDefine c] -> m () Source #
noDuplicateRefines :: (Show c, CollectErrorsM m) => [c] -> CategoryName -> [ValueRefine c] -> m () Source #
parsedToFunctionType :: (Show c, CollectErrorsM m) => ScopedFunction c -> m FunctionType Source #
partitionByScope :: (a -> SymbolScope) -> [a] -> ([a], [a], [a]) Source #
prependCategoryPragmaContext :: [c] -> PragmaCategory c -> PragmaCategory c Source #
replaceSelfFunction :: (Show c, CollectErrorsM m) => GeneralInstance -> ScopedFunction c -> m (ScopedFunction c) Source #
setCategoryNamespace :: Namespace -> AnyCategory c -> AnyCategory c Source #
singleFromCategory :: AnyCategory c -> TypeInstance Source #
toCategoryMap :: [(CategoryName, AnyCategory c)] -> CategoryMap c Source #
topoSortCategories :: (Show c, CollectErrorsM m) => CategoryMap c -> [AnyCategory c] -> m [AnyCategory c] Source #
uncheckedSubFunction :: (Show c, CollectErrorsM m) => ParamValues -> ScopedFunction c -> m (ScopedFunction c) Source #
validateCategoryFunction :: (Show c, CollectErrorsM m, TypeResolver r) => r -> AnyCategory c -> ScopedFunction c -> m () Source #