liquidhaskell-0.8.10.2: Liquid Types for Haskell
Safe HaskellNone
LanguageHaskell98

Language.Haskell.Liquid.Synthesize.GHC

Synopsis

Documentation

goalType :: Type -> Type -> Bool Source #

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

unifyWith :: Type -> [Type] Source #

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)]) Source #

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

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

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

type SSEnv = HashMap Symbol (SpecType, Var) Source #

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

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

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

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

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

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

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

notrace :: String -> a -> a Source #

Orphan instances

Default Type Source # 
Instance details

Methods

def :: Type

Default Var Source # 
Instance details

Methods

def :: Var