liquidhaskell-0.8.0.2: Liquid Types for Haskell

Safe HaskellNone
LanguageHaskell98

Test.Target.Monad

Synopsis

Documentation

noteUsed :: (Symbol, Value) -> Target () Source #

addDep :: Symbol -> Expr -> Target () Source #

addSort :: Sort -> Target () Source #

inModule :: Symbol -> Target a -> Target a Source #

making :: Sort -> Target a -> Target a 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).

fresh :: Sort -> Target Symbol Source #

Generate a fresh variable of the given Sort.

freshChoice :: String -> Target Symbol Source #

Given a data constructor d, create a new choice variable corresponding to d.

getValue :: Symbol -> Target Value Source #

Ask the SMT solver for the Value of the given variable.

data Target a Source #

Instances

Monad Target Source # 

Methods

(>>=) :: Target a -> (a -> Target b) -> Target b #

(>>) :: Target a -> Target b -> Target b #

return :: a -> Target a #

fail :: String -> Target a #

Functor Target Source # 

Methods

fmap :: (a -> b) -> Target a -> Target b #

(<$) :: a -> Target b -> Target a #

Applicative Target Source # 

Methods

pure :: a -> Target a #

(<*>) :: Target (a -> b) -> Target a -> Target b #

(*>) :: Target a -> Target b -> Target b #

(<*) :: Target a -> Target b -> Target a #

Alternative Target Source # 

Methods

empty :: Target a #

(<|>) :: Target a -> Target a -> Target a #

some :: Target a -> Target [a] #

many :: Target a -> Target [a] #

MonadIO Target Source # 

Methods

liftIO :: IO a -> Target a #

MonadCatch Target Source # 

Methods

catch :: Exception e => Target a -> (e -> Target a) -> Target a #

MonadThrow Target Source # 

Methods

throwM :: Exception e => e -> Target a #

MonadReader TargetOpts Target Source # 

Methods

ask :: Target TargetOpts #

local :: (TargetOpts -> TargetOpts) -> Target a -> Target a #

reader :: (TargetOpts -> a) -> Target a #

MonadState TargetState Target Source # 

data TargetState Source #

Constructors

TargetState 

Fields

data TargetOpts Source #

Constructors

TargetOpts 

Fields