Safe Haskell | None |
---|---|
Language | Haskell98 |
Documentation
typeInferencing :: [Option] -> ImportEnvironment -> Module -> (IO (), DictionaryEnvironment, TypeEnvironment, TypeErrors, Warnings) Source
proximaTypeInferencing :: [Option] -> ImportEnvironment -> Module -> (TypeErrors, Warnings, TypeEnvironment, [(Range, TpScheme)]) Source
getRequiredDictionaries :: OrderedTypeSynonyms -> Tp -> TpScheme -> Predicates Source
matchTypeWithScheme :: OrderedTypeSynonyms -> Tp -> TpScheme -> Predicates Source
resolveOverloading :: ClassEnvironment -> Name -> Predicates -> Predicates -> DictionaryEnvironment -> DictionaryEnvironment Source
findInferredTypes :: Map Int (Scheme Predicates) -> Map Name (Sigma Predicates) -> TypeEnvironment Source
missingTypeSignature :: Bool -> Names -> TypeEnvironment -> Warnings Source
isSimplePattern :: Pattern -> Bool Source
globalInfoError :: a Source
uniqueAppearance :: Ord a => [a] -> ([a], [[a]]) Source
nextUnique :: Num a => a -> (a, a) Source
matchConverter0 :: [([String], ())] -> () Source
matchConverter1 :: [([String], a)] -> [(a, [String])] Source
matchConverter2 :: [([String], (a, b))] -> ([(a, [String])], [(b, [String])]) Source
matchConverter3 :: [([String], (a, b, c))] -> ([(a, [String])], [(b, [String])], [(c, [String])]) Source
match0 :: MetaVariableInfo -> Int -> (Expression -> Maybe ()) -> [(Expression, [String])] -> [((Expression, [String]), Core_TypingStrategy)] -> [[Maybe MetaVariableTable]] -> ((), [Maybe MetaVariableTable], ConstraintSet, Assumptions, Int, IO ()) Source
match1 :: MetaVariableInfo -> Int -> (Expression -> Maybe a) -> [(Expression, [String])] -> [((Expression, [String]), Core_TypingStrategy)] -> [[Maybe MetaVariableTable]] -> ([(a, [String])], [Maybe MetaVariableTable], ConstraintSet, Assumptions, Int, IO ()) Source
match2 :: MetaVariableInfo -> Int -> (Expression -> Maybe (a, b)) -> [(Expression, [String])] -> [((Expression, [String]), Core_TypingStrategy)] -> [[Maybe MetaVariableTable]] -> (([(a, [String])], [(b, [String])]), [Maybe MetaVariableTable], ConstraintSet, Assumptions, Int, IO ()) Source
match3 :: MetaVariableInfo -> Int -> (Expression -> Maybe (a, b, c)) -> [(Expression, [String])] -> [((Expression, [String]), Core_TypingStrategy)] -> [[Maybe MetaVariableTable]] -> (([(a, [String])], [(b, [String])], [(c, [String])]), [Maybe MetaVariableTable], ConstraintSet, Assumptions, Int, IO ()) Source
match0' :: (a -> Maybe ()) -> [(a, [String])] -> [((a, [String]), Core_TypingStrategy)] -> [[Maybe MetaVariableTable]] -> ((), [Maybe MetaVariableTable], ConstraintSet, Assumptions, Int, IO ()) Source
match1' :: (a -> Maybe b) -> [(a, [String])] -> [((a, [String]), Core_TypingStrategy)] -> [[Maybe MetaVariableTable]] -> ([(b, [String])], [Maybe MetaVariableTable], ConstraintSet, Assumptions, Int, IO ()) Source
match2' :: (n -> Maybe (a, b)) -> [(n, [String])] -> [((n, [String]), Core_TypingStrategy)] -> [[Maybe MetaVariableTable]] -> (([(a, [String])], [(b, [String])]), [Maybe MetaVariableTable], ConstraintSet, Assumptions, Int, IO ()) Source
matchOnlyVariable :: MetaVariableInfo -> [(Expression, [String])] -> [Maybe MetaVariableTable] Source
noMetaVariableInfo :: a Source
generalMatch :: (nonTerminal -> Maybe String) -> ([([String], childrenTuple)] -> childrenResult) -> MetaVariableInfo -> Int -> (nonTerminal -> Maybe childrenTuple) -> [(nonTerminal, [String])] -> [((nonTerminal, [String]), Core_TypingStrategy)] -> [[Maybe MetaVariableTable]] -> (childrenResult, [Maybe MetaVariableTable], ConstraintSet, Assumptions, Int, IO ()) Source
patternMatchWarnings :: Substitution substitution => ImportEnvironment -> substitution -> Tp -> (Tp -> Tps) -> [([PatternElement], Bool)] -> Range -> Maybe Name -> Bool -> [Warning] -> String -> String -> [Warning] Source
importEnvironmentToEnv :: ImportEnvironment -> [(Tp, (Name, [Tp]))] Source
nrOfArguments :: Env -> String -> Int Source
constructors :: ImportEnvironment -> Tp -> [(Name, [Tp])] Source
data PatternElement Source
listPat :: [[PatternElement]] -> [PatternElement] Source
stringPat :: String -> [PatternElement] Source
unMissing :: PatternsMissing -> [(PatternElement, PatternsMissing)] Source
wildMissing :: Int -> PatternsMissing Source
missingList :: PatternsMissing -> [[PatternElement]] Source
nicePattern :: Bool -> Env -> [PatternElement] -> [Pattern] Source
parensPattern :: Bool -> Pattern -> Pattern Source
complement :: ImportEnvironment -> [Tp] -> [[PatternElement]] -> PatternsMissing Source
unreachable :: ImportEnvironment -> [Tp] -> [([PatternElement], Int)] -> [Int] Source
reachable :: ImportEnvironment -> [Tp] -> [([PatternElement], Int)] -> [Int] Source
thin :: [PatternElement] -> [PatternElement] Source
data Inh_Alternative Source
data Syn_Alternative Source
data T_Alternative_vIn1 Source
data Inh_Alternatives Source
data Syn_Alternatives Source
data T_Alternatives_vIn4 Source
data Inh_AnnotatedType Source
data Syn_AnnotatedType Source
data Inh_AnnotatedTypes Source
data Syn_AnnotatedTypes Source
newtype T_AnnotatedTypes Source
newtype T_AnnotatedTypes_s11 Source
newtype T_Body_s14 Source
type T_Body_v13 = T_Body_vIn13 -> T_Body_vOut13 Source
data T_Body_vIn13 Source
data T_Body_vOut13 Source
sem_Body_Hole :: T_Range -> Integer -> T_Body Source
sem_Body_Body :: T_Range -> T_ImportDeclarations -> T_Declarations -> T_Body Source
data Inh_Constructor Source
data Syn_Constructor Source
sem_Constructor_Infix :: T_Range -> T_AnnotatedType -> T_Name -> T_AnnotatedType -> T_Constructor Source
data Inh_Constructors Source
data Syn_Constructors Source
sem_ContextItem_ContextItem :: T_Range -> T_Name -> T_Types -> T_ContextItem Source
data Inh_Declaration Source
data Syn_Declaration Source
data T_Declaration_vIn28 Source
sem_Declaration_Type :: T_Range -> T_SimpleType -> T_Type -> T_Declaration Source
sem_Declaration_Data :: T_Range -> T_ContextItems -> T_SimpleType -> T_Constructors -> T_Names -> T_Declaration Source
sem_Declaration_Newtype :: T_Range -> T_ContextItems -> T_SimpleType -> T_Constructor -> T_Names -> T_Declaration Source
sem_Declaration_Class :: T_Range -> T_ContextItems -> T_SimpleType -> T_MaybeDeclarations -> T_Declaration Source
sem_Declaration_Instance :: T_Range -> T_ContextItems -> T_Name -> T_Types -> T_MaybeDeclarations -> T_Declaration Source
sem_Declaration_TypeSignature :: T_Range -> T_Names -> T_Type -> T_Declaration Source
sem_Declaration_Fixity :: T_Range -> T_Fixity -> T_MaybeInt -> T_Names -> T_Declaration Source
data Inh_Declarations Source
data Syn_Declarations Source
data T_Declarations_vIn31 Source
wrap_Export :: T_Export -> Inh_Export -> Syn_Export Source
sem_Export :: Export -> T_Export Source
newtype T_Export_s35 Source
type T_Export_v34 = T_Export_vIn34 -> T_Export_vOut34 Source
sem_Export_Variable :: T_Range -> T_Name -> T_Export Source
sem_Export_TypeOrClass :: T_Range -> T_Name -> T_MaybeNames -> T_Export Source
sem_Export_Module :: T_Range -> T_Name -> T_Export Source
wrap_Exports :: T_Exports -> Inh_Exports -> Syn_Exports Source
sem_Exports :: Exports -> T_Exports Source
type T_Exports_v37 = T_Exports_vIn37 -> T_Exports_vOut37 Source
sem_Exports_Cons :: T_Export -> T_Exports -> T_Exports Source
data Inh_Expression Source
data Syn_Expression Source
data T_Expression_vIn40 Source
sem_Expression_Hole :: T_Range -> Integer -> T_Expression Source
sem_Expression_Feedback :: T_Range -> String -> T_Expression -> T_Expression Source
sem_Expression_InfixApplication :: T_Range -> T_MaybeExpression -> T_Expression -> T_MaybeExpression -> T_Expression Source
sem_Expression_If :: T_Range -> T_Expression -> T_Expression -> T_Expression -> T_Expression Source
sem_Expression_Lambda :: T_Range -> T_Patterns -> T_Expression -> T_Expression Source
sem_Expression_Typed :: T_Range -> T_Expression -> T_Type -> T_Expression Source
sem_Expression_RecordConstruction :: T_Range -> T_Name -> T_RecordExpressionBindings -> T_Expression Source
sem_Expression_RecordUpdate :: T_Range -> T_Expression -> T_RecordExpressionBindings -> T_Expression Source
sem_Expression_Enum :: T_Range -> T_Expression -> T_MaybeExpression -> T_MaybeExpression -> T_Expression Source
data Inh_Expressions Source
data Syn_Expressions Source
data T_Expressions_vIn43 Source
newtype T_FieldDeclaration Source
newtype T_FieldDeclaration_s47 Source
sem_FieldDeclaration_FieldDeclaration :: T_Range -> T_Names -> T_AnnotatedType -> T_FieldDeclaration Source
wrap_FieldDeclarations :: T_FieldDeclarations -> Inh_FieldDeclarations -> Syn_FieldDeclarations Source
newtype T_FieldDeclarations Source
newtype T_FieldDeclarations_s50 Source
sem_FieldDeclarations_Cons :: T_FieldDeclaration -> T_FieldDeclarations -> T_FieldDeclarations Source
wrap_Fixity :: T_Fixity -> Inh_Fixity -> Syn_Fixity Source
sem_Fixity :: Fixity -> T_Fixity Source
newtype T_Fixity_s53 Source
type T_Fixity_v52 = T_Fixity_vIn52 -> T_Fixity_vOut52 Source
data Inh_FunctionBinding Source
data Syn_FunctionBinding Source
newtype T_FunctionBinding Source
newtype T_FunctionBinding_s56 Source
data T_FunctionBinding_vIn55 Source
sem_FunctionBinding_FunctionBinding :: T_Range -> T_LeftHandSide -> T_RightHandSide -> T_FunctionBinding Source
data Inh_FunctionBindings Source
data Syn_FunctionBindings Source
newtype T_FunctionBindings Source
newtype T_FunctionBindings_s59 Source
data T_FunctionBindings_vIn58 Source
data Inh_GuardedExpression Source
data Syn_GuardedExpression Source
wrap_GuardedExpression :: T_GuardedExpression -> Inh_GuardedExpression -> Syn_GuardedExpression Source
newtype T_GuardedExpression Source
newtype T_GuardedExpression_s62 Source
data T_GuardedExpression_vIn61 Source
sem_GuardedExpression_GuardedExpression :: T_Range -> T_Expression -> T_Expression -> T_GuardedExpression Source
data Inh_GuardedExpressions Source
data Syn_GuardedExpressions Source
wrap_GuardedExpressions :: T_GuardedExpressions -> Inh_GuardedExpressions -> Syn_GuardedExpressions Source
newtype T_GuardedExpressions Source
newtype T_GuardedExpressions_s65 Source
data T_GuardedExpressions_vIn64 Source
sem_GuardedExpressions_Cons :: T_GuardedExpression -> T_GuardedExpressions -> T_GuardedExpressions Source
wrap_Import :: T_Import -> Inh_Import -> Syn_Import Source
sem_Import :: Import -> T_Import Source
newtype T_Import_s68 Source
type T_Import_v67 = T_Import_vIn67 -> T_Import_vOut67 Source
sem_Import_Variable :: T_Range -> T_Name -> T_Import Source
sem_Import_TypeOrClass :: T_Range -> T_Name -> T_MaybeNames -> T_Import Source
wrap_ImportDeclaration :: T_ImportDeclaration -> Inh_ImportDeclaration -> Syn_ImportDeclaration Source
newtype T_ImportDeclaration Source
newtype T_ImportDeclaration_s71 Source
sem_ImportDeclaration_Import :: T_Range -> Bool -> T_Name -> T_MaybeName -> T_MaybeImportSpecification -> T_ImportDeclaration Source
wrap_ImportDeclarations :: T_ImportDeclarations -> Inh_ImportDeclarations -> Syn_ImportDeclarations Source
newtype T_ImportDeclarations Source
newtype T_ImportDeclarations_s74 Source
sem_ImportDeclarations_Cons :: T_ImportDeclaration -> T_ImportDeclarations -> T_ImportDeclarations Source
wrap_ImportSpecification :: T_ImportSpecification -> Inh_ImportSpecification -> Syn_ImportSpecification Source
newtype T_ImportSpecification Source
newtype T_ImportSpecification_s77 Source
wrap_Imports :: T_Imports -> Inh_Imports -> Syn_Imports Source
sem_Imports :: Imports -> T_Imports Source
type T_Imports_v79 = T_Imports_vIn79 -> T_Imports_vOut79 Source
sem_Imports_Cons :: T_Import -> T_Imports -> T_Imports Source
data Syn_LeftHandSide Source
sem_LeftHandSide_Function :: T_Range -> T_Name -> T_Patterns -> T_LeftHandSide Source
sem_LeftHandSide_Infix :: T_Range -> T_Pattern -> T_Name -> T_Pattern -> T_LeftHandSide Source
data Syn_Literal Source
wrap_Literal :: T_Literal -> Inh_Literal -> Syn_Literal Source
sem_Literal :: Literal -> T_Literal Source
type T_Literal_v85 = T_Literal_vIn85 -> T_Literal_vOut85 Source
sem_Literal_Int :: T_Range -> String -> T_Literal Source
sem_Literal_Char :: T_Range -> String -> T_Literal Source
sem_Literal_Float :: T_Range -> String -> T_Literal Source
sem_Literal_String :: T_Range -> String -> T_Literal Source
data Inh_MaybeDeclarations Source
data Syn_MaybeDeclarations Source
wrap_MaybeDeclarations :: T_MaybeDeclarations -> Inh_MaybeDeclarations -> Syn_MaybeDeclarations Source
newtype T_MaybeDeclarations Source
newtype T_MaybeDeclarations_s89 Source
data T_MaybeDeclarations_vIn88 Source
data Inh_MaybeExpression Source
data Syn_MaybeExpression Source
newtype T_MaybeExpression Source
newtype T_MaybeExpression_s95 Source
data T_MaybeExpression_vIn94 Source
wrap_MaybeImportSpecification :: T_MaybeImportSpecification -> Inh_MaybeImportSpecification -> Syn_MaybeImportSpecification Source
newtype T_MaybeImportSpecification Source
newtype T_MaybeImportSpecification_s98 Source
type T_MaybeImportSpecification_v97 = T_MaybeImportSpecification_vIn97 -> T_MaybeImportSpecification_vOut97 Source
sem_MaybeInt :: MaybeInt -> T_MaybeInt Source
sem_MaybeInt_Just :: Int -> T_MaybeInt Source
data Inh_Module Source
data Syn_Module Source
wrap_Module :: T_Module -> Inh_Module -> Syn_Module Source
sem_Module :: Module -> T_Module Source
type T_Module_v109 = T_Module_vIn109 -> T_Module_vOut109 Source
data T_Module_vOut109 Source
sem_Module_Module :: T_Range -> T_MaybeName -> T_MaybeExports -> T_Body -> T_Module Source
newtype T_Name_s113 Source
type T_Name_v112 = T_Name_vIn112 -> T_Name_vOut112 Source
wrap_Names :: T_Names -> Inh_Names -> Syn_Names Source
newtype T_Names_s116 Source
type T_Names_v115 = T_Names_vIn115 -> T_Names_vOut115 Source
sem_Names_Cons :: T_Name -> T_Names -> T_Names Source
data Inh_Pattern Source
data Syn_Pattern Source
wrap_Pattern :: T_Pattern -> Inh_Pattern -> Syn_Pattern Source
sem_Pattern :: Pattern -> T_Pattern Source
data T_Pattern_vIn118 Source
data T_Pattern_vOut118 Source
sem_Pattern_Hole :: T_Range -> Integer -> T_Pattern Source
sem_Pattern_Literal :: T_Range -> T_Literal -> T_Pattern Source
sem_Pattern_Variable :: T_Range -> T_Name -> T_Pattern Source
sem_Pattern_Constructor :: T_Range -> T_Name -> T_Patterns -> T_Pattern Source
sem_Pattern_List :: T_Range -> T_Patterns -> T_Pattern Source
sem_Pattern_Tuple :: T_Range -> T_Patterns -> T_Pattern Source
sem_Pattern_Negate :: T_Range -> T_Literal -> T_Pattern Source
data Inh_Patterns Source
data Syn_Patterns Source
sem_Patterns :: Patterns -> T_Patterns Source
data T_Patterns_vIn121 Source
data T_Patterns_vOut121 Source
sem_Patterns_Cons :: T_Pattern -> T_Patterns -> T_Patterns Source
sem_Position :: Position -> T_Position Source
sem_Position_Position :: String -> Int -> Int -> T_Position Source
data Inh_Qualifier Source
data Syn_Qualifier Source
data T_Qualifier_vIn127 Source
sem_Qualifier_Generator :: T_Range -> T_Pattern -> T_Expression -> T_Qualifier Source
data Inh_Qualifiers Source
data Syn_Qualifiers Source
data T_Qualifiers_vIn130 Source
wrap_Range :: T_Range -> Inh_Range -> Syn_Range Source
newtype T_Range_s134 Source
type T_Range_v133 = T_Range_vIn133 -> T_Range_vOut133 Source
sem_Range_Range :: T_Position -> T_Position -> T_Range Source
data Inh_RecordExpressionBinding Source
data Syn_RecordExpressionBinding Source
wrap_RecordExpressionBinding :: T_RecordExpressionBinding -> Inh_RecordExpressionBinding -> Syn_RecordExpressionBinding Source
newtype T_RecordExpressionBinding Source
newtype T_RecordExpressionBinding_s137 Source
type T_RecordExpressionBinding_v136 = T_RecordExpressionBinding_vIn136 -> T_RecordExpressionBinding_vOut136 Source
sem_RecordExpressionBinding_RecordExpressionBinding :: T_Range -> T_Name -> T_Expression -> T_RecordExpressionBinding Source
data Inh_RecordExpressionBindings Source
data Syn_RecordExpressionBindings Source
wrap_RecordExpressionBindings :: T_RecordExpressionBindings -> Inh_RecordExpressionBindings -> Syn_RecordExpressionBindings Source
newtype T_RecordExpressionBindings Source
type T_RecordExpressionBindings_v139 = T_RecordExpressionBindings_vIn139 -> T_RecordExpressionBindings_vOut139 Source
sem_RecordExpressionBindings_Cons :: T_RecordExpressionBinding -> T_RecordExpressionBindings -> T_RecordExpressionBindings Source
wrap_RecordPatternBinding :: T_RecordPatternBinding -> Inh_RecordPatternBinding -> Syn_RecordPatternBinding Source
newtype T_RecordPatternBinding Source
newtype T_RecordPatternBinding_s143 Source
type T_RecordPatternBinding_v142 = T_RecordPatternBinding_vIn142 -> T_RecordPatternBinding_vOut142 Source
sem_RecordPatternBinding_RecordPatternBinding :: T_Range -> T_Name -> T_Pattern -> T_RecordPatternBinding Source
wrap_RecordPatternBindings :: T_RecordPatternBindings -> Inh_RecordPatternBindings -> Syn_RecordPatternBindings Source
newtype T_RecordPatternBindings Source
newtype T_RecordPatternBindings_s146 Source
type T_RecordPatternBindings_v145 = T_RecordPatternBindings_vIn145 -> T_RecordPatternBindings_vOut145 Source
sem_RecordPatternBindings_Cons :: T_RecordPatternBinding -> T_RecordPatternBindings -> T_RecordPatternBindings Source
data Inh_RightHandSide Source
data Syn_RightHandSide Source
newtype T_RightHandSide Source
newtype T_RightHandSide_s149 Source
data T_RightHandSide_vIn148 Source
sem_RightHandSide_Expression :: T_Range -> T_Expression -> T_MaybeDeclarations -> T_RightHandSide Source
sem_RightHandSide_Guarded :: T_Range -> T_GuardedExpressions -> T_MaybeDeclarations -> T_RightHandSide Source
data Syn_SimpleType Source
sem_SimpleType_SimpleType :: T_Range -> T_Name -> T_Names -> T_SimpleType Source
data Inh_Statement Source
data Syn_Statement Source
data T_Statement_vIn154 Source
sem_Statement_Generator :: T_Range -> T_Pattern -> T_Expression -> T_Statement Source
data Inh_Statements Source
data Syn_Statements Source
data T_Statements_vIn157 Source
wrap_Strings :: T_Strings -> Inh_Strings -> Syn_Strings Source
sem_Strings :: Strings -> T_Strings Source
sem_Strings_Cons :: String -> T_Strings -> T_Strings Source
newtype T_Type_s164 Source
type T_Type_v163 = T_Type_vIn163 -> T_Type_vOut163 Source
sem_Type_Variable :: T_Range -> T_Name -> T_Type Source
sem_Type_Constructor :: T_Range -> T_Name -> T_Type Source
sem_Type_Qualified :: T_Range -> T_ContextItems -> T_Type -> T_Type Source
sem_Type_Parenthesized :: T_Range -> T_Type -> T_Type Source
wrap_Types :: T_Types -> Inh_Types -> Syn_Types Source
newtype T_Types_s167 Source
type T_Types_v166 = T_Types_vIn166 -> T_Types_vOut166 Source
sem_Types_Cons :: T_Type -> T_Types -> T_Types Source