Safe Haskell | None |
---|---|
Language | Haskell98 |
- whenVerbose :: Target () -> Target ()
- noteUsed :: (Symbol, Value) -> Target ()
- addDep :: Symbol -> Expr -> Target ()
- addConstraint :: Expr -> Target ()
- addConstructor :: Variable -> Target ()
- addSort :: Sort -> Target ()
- addVariable :: Variable -> Target ()
- inModule :: Symbol -> Target a -> Target a
- making :: Sort -> Target a -> Target a
- lookupCtor :: Symbol -> SpecType -> Target SpecType
- guarded :: String -> Target Expr -> Target (Expr, Expr)
- fresh :: Sort -> Target Symbol
- freshChoice :: String -> Target Symbol
- freshInt :: Target Int
- getValue :: Symbol -> Target Value
- data Target a
- runTarget :: TargetOpts -> TargetState -> Target a -> IO a
- data TargetState = TargetState {
- variables :: ![Variable]
- choices :: ![Variable]
- constraints :: !Constraint
- deps :: !(HashMap Symbol [Symbol])
- realized :: ![(Symbol, Value)]
- ctorEnv :: !DataConEnv
- measEnv :: !MeasureEnv
- embEnv :: !(TCEmb TyCon)
- tyconInfo :: !(HashMap TyCon RTyCon)
- freesyms :: ![(Symbol, Symbol)]
- constructors :: ![Variable]
- sigs :: ![(Symbol, SpecType)]
- chosen :: !(Maybe Symbol)
- sorts :: !(HashSet Sort)
- modName :: !Symbol
- filePath :: !FilePath
- makingTy :: !Sort
- smtContext :: !Context
- initState :: FilePath -> GhcSpec -> Context -> TargetState
- data TargetOpts = TargetOpts {}
- defaultOpts :: TargetOpts
Documentation
whenVerbose :: Target () -> Target () Source #
addConstraint :: Expr -> Target () Source #
addConstructor :: Variable -> Target () Source #
addVariable :: Variable -> Target () Source #
lookupCtor :: Symbol -> SpecType -> Target SpecType Source #
Find the refined type of a data constructor.
guarded :: String -> Target Expr -> Target (Expr, Expr) Source #
Given a data constructor d
and an action, create a new choice variable
c
and execute the action while guarding any generated constraints with
c
. Returns (action-result, c)
.
freshChoice :: String -> Target Symbol Source #
Given a data constructor d
, create a new choice variable corresponding to
d
.
runTarget :: TargetOpts -> TargetState -> Target a -> IO a Source #
data TargetState Source #
TargetState | |
|
data TargetOpts Source #
TargetOpts | |
|