@@ -112,6 +112,7 @@ data IState = IState {
112 idris_callgraph :: Ctxt CGInfo, -- name, args used in each pos
112 idris_callgraph :: Ctxt CGInfo, -- name, args used in each pos
113 idris_calledgraph :: Ctxt [Name],
113 idris_calledgraph :: Ctxt [Name],
114 idris_docstrings :: Ctxt String,
114 idris_docstrings :: Ctxt String,
115+ idris_tyinfodata :: Ctxt TIData,
115 idris_totcheck :: [(FC, Name)], -- names to check totality on
116 idris_totcheck :: [(FC, Name)], -- names to check totality on
116 idris_defertotcheck :: [(FC, Name)], -- names to check at the end
117 idris_defertotcheck :: [(FC, Name)], -- names to check at the end
117 idris_options :: IOption,
118 idris_options :: IOption,
@@ -216,7 +217,7 @@ idrisInit :: IState
216idrisInit = IState initContext [] [] emptyContext emptyContext emptyContext
217idrisInit = IState initContext [] [] emptyContext emptyContext emptyContext
217 emptyContext emptyContext emptyContext emptyContext
218 emptyContext emptyContext emptyContext emptyContext
218 emptyContext emptyContext emptyContext emptyContext
219 emptyContext emptyContext emptyContext emptyContext
219− emptyContext
220+ emptyContext emptyContext
220 [] [] defaultOpts 6 [] [] [] [] [] [] [] [] [] [] [] [] []
221 [] [] defaultOpts 6 [] [] [] [] [] [] [] [] [] [] [] [] []
221 [] Nothing Nothing [] [] [] Hidden False [] Nothing [] [] RawOutput
222 [] Nothing Nothing [] [] [] Hidden False [] Nothing [] [] RawOutput
222 True defaultTheme stdout [] (0, emptyContext) emptyContext M.empty
223 True defaultTheme stdout [] (0, emptyContext) emptyContext M.empty
@@ -811,6 +812,12 @@ deriving instance Binary ClassInfo
811deriving instance NFData ClassInfo
812deriving instance NFData ClassInfo
815+-- Type inference data
817+data TIData = TIPartial -- ^ a function with a partially defined type
818+ | TISolution Term -- ^ solution to a metavariable in a type
814-- An argument is conditionally forceable iff its forceability
821-- An argument is conditionally forceable iff its forceability
815-- depends on the collapsibility of the whole type.
822-- depends on the collapsibility of the whole type.
816data Forceability = Conditional | Unconditional deriving (Show, Enum, Bounded, Eq, Ord)
823data Forceability = Conditional | Unconditional deriving (Show, Enum, Bounded, Eq, Ord)