helium-1.8.1: The Helium Compiler.

Safe HaskellNone
LanguageHaskell98

Helium.StaticAnalysis.Inferencers.TypeInferencing

Documentation

type ScopeInfo = ([Names], [Name], [(Name, Name)]) 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

allMatch :: [Maybe [a]] -> Maybe [a] Source

data Match a Source

Instances

Show (Match a) 

match2' :: (n -> Maybe (a, b)) -> [(n, [String])] -> [((n, [String]), Core_TypingStrategy)] -> [[Maybe MetaVariableTable]] -> (([(a, [String])], [(b, [String])]), [Maybe MetaVariableTable], ConstraintSet, Assumptions, Int, IO ()) Source

noMatch :: a -> Maybe b 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

(|^|) :: (a -> Bool) -> (a -> Bool) -> a -> Bool Source

type Env = [(Tp, (Name, [Tp]))] Source

substitute :: Tp -> (Tp, (Name, [Tp])) -> [(Name, [Tp])] Source

newtype T_Body Source

Constructors

T_Body 

newtype T_Body_s14 Source

Constructors

C_Body_s14 

data T_Body_s15 Source

Constructors

C_Body_s15 

data Inh_Export Source

Constructors

Inh_Export 

data Syn_Export Source

Constructors

Syn_Export 

data T_Export_s36 Source

Constructors

C_Export_s36 

data Inh_Exports Source

Constructors

Inh_Exports 

data Inh_Fixity Source

Constructors

Inh_Fixity 

data Syn_Fixity Source

Constructors

Syn_Fixity 

data T_Fixity_s54 Source

Constructors

C_Fixity_s54 

data Inh_Import Source

Constructors

Inh_Import 

data Syn_Import Source

Constructors

Syn_Import 

data T_Import_s69 Source

Constructors

C_Import_s69 

data Inh_Imports Source

Constructors

Inh_Imports 

data Inh_Literal Source

Constructors

Inh_Literal 

data Inh_MaybeInt Source

Constructors

Inh_MaybeInt 

data Inh_Name Source

Constructors

Inh_Name 

data Syn_Name Source

Constructors

Syn_Name 

Fields

self_Syn_Name :: Name
 

newtype T_Name Source

Constructors

T_Name 

newtype T_Name_s113 Source

Constructors

C_Name_s113 

data T_Name_s114 Source

Constructors

C_Name_s114 

data Inh_Names Source

Constructors

Inh_Names 

data Syn_Names Source

Constructors

Syn_Names 

newtype T_Names Source

data T_Names_s117 Source

Constructors

C_Names_s117 

data Inh_Position Source

Constructors

Inh_Position 

data Inh_Range Source

Constructors

Inh_Range 

data Syn_Range Source

Constructors

Syn_Range 

newtype T_Range Source

data T_Range_s135 Source

Constructors

C_Range_s135 

data Inh_Strings Source

Constructors

Inh_Strings 

data Inh_Type Source

Constructors

Inh_Type 

data Syn_Type Source

Constructors

Syn_Type 

Fields

self_Syn_Type :: Type
 

newtype T_Type Source

Constructors

T_Type 

newtype T_Type_s164 Source

Constructors

C_Type_s164 

data T_Type_s165 Source

Constructors

C_Type_s165 

data Inh_Types Source

Constructors

Inh_Types 

data Syn_Types Source

Constructors

Syn_Types 

newtype T_Types Source

data T_Types_s168 Source

Constructors

C_Types_s168