liquidhaskell-0.8.10.1: Liquid Types for Haskell
Safe HaskellNone
LanguageHaskell98

Language.Haskell.Liquid.Synthesize.GHC

Synopsis

Documentation

mkVar :: Maybe String -> Int -> Type -> Var #

goalType :: Type -> Type -> Bool #

Assuming that the functions are instantiated when this function is called.

unifyWith :: Type -> [Type] #

Assuming that goals are type variables or constructors. Note: We maintain ordering from the goal type. Not handled (compared to @varsInType): function types, type applications

fromAnf' :: CoreExpr -> [(Var, CoreExpr)] -> (CoreExpr, [(Var, CoreExpr)]) #

Replace let bindings in applications. > If you find a binding add it to the second argument. | (lhs, rhs) |

coreToHs :: SpecType -> Var -> CoreExpr -> String #

Function used for pretty printing core as Haskell source. Input does not contain let bindings.

pprintFormals :: Int -> Var -> CoreExpr -> Int -> [Var] -> String #

pprintAlts :: [Var] -> Int -> Alt Var -> String #

type SSEnv = HashMap Symbol (SpecType, Var) #

filterREnv :: HashMap Symbol SpecType -> HashMap Symbol SpecType #

getUniVars :: CoreProgram -> Var -> ([Var], [Var]) #

That' s a hack to get the type variables we need for instantiation.

getUniVars0 :: CoreExpr -> ([Var], [Var]) -> ([Var], [Var]) #

varsP :: CoreProgram -> Var -> (CoreExpr -> [Var]) -> [Var] #

varsCB :: CoreBind -> (CoreExpr -> [Var]) -> [Var] #

symbolToVar :: CoreProgram -> Var -> HashMap Symbol SpecType -> SSEnv #

notrace :: String -> a -> a #

Orphan instances

Default Type # 
Instance details

Methods

def :: Type

Default Var # 
Instance details

Methods

def :: Var