verifiable-expressions-0.6.1: An intermediate language for Hoare logic style verification.
Safe HaskellNone
LanguageHaskell2010

Language.While.Syntax

Documentation

data WhileOpKind as r where Source #

Instances

Instances details
EvalOpAt Identity WhileOpKind Source # 
Instance details

Defined in Language.While.Syntax

Methods

evalMany :: forall (as :: [k]) (r :: k). WhileOpKind as r -> Rec Identity as -> Identity r Source #

EvalOpAt SBV WhileOpKind Source # 
Instance details

Defined in Language.While.Syntax

Methods

evalMany :: forall (as :: [k]) (r :: k). WhileOpKind as r -> Rec SBV as -> SBV r Source #

PrettyOp WhileOpKind Source # 
Instance details

Defined in Language.While.Syntax

Methods

prettysPrecOp :: forall (t :: u -> Type) (as :: [u]) (a :: k). Pretty1 t => Int -> WhileOpKind as a -> Rec t as -> ShowS Source #

Num (WhileExpr l AlgReal) Source # 
Instance details

Defined in Language.While.Syntax

IsString s => IsString (WhileExpr s AlgReal) Source # 
Instance details

Defined in Language.While.Syntax

prettys1Binop :: Pretty1 t => Int -> String -> Int -> t a -> t b -> ShowS Source #

data WhileVar l a where Source #

Constructors

WhileVar :: l -> WhileVar l AlgReal 

Instances

Instances details
VerifiableVar (WhileVar String) Source # 
Instance details

Defined in Language.While.Syntax

Pretty l => Pretty1 (WhileVar l :: Type -> Type) Source # 
Instance details

Defined in Language.While.Syntax

Methods

pretty1 :: forall (a :: k). WhileVar l a -> String Source #

prettys1Prec :: forall (a :: k). Int -> WhileVar l a -> ShowS Source #

Num (WhileExpr l AlgReal) Source # 
Instance details

Defined in Language.While.Syntax

IsString s => IsString (WhileExpr s AlgReal) Source # 
Instance details

Defined in Language.While.Syntax

type VarKey (WhileVar String) Source # 
Instance details

Defined in Language.While.Syntax

type VarSym (WhileVar String) Source # 
Instance details

Defined in Language.While.Syntax

type VarEnv (WhileVar String) Source # 
Instance details

Defined in Language.While.Syntax

type VarEnv (WhileVar String) = ()

data Command l a Source #

Constructors

CAnn a (Command l a) 
CSeq (Command l a) (Command l a) 
CSkip 
CAssign l (WhileExpr l AlgReal) 
CIf (WhileExpr l Bool) (Command l a) (Command l a) 
CWhile (WhileExpr l Bool) (Command l a) 

Instances

Instances details
(Pretty l, Pretty a) => Pretty (Command l a) Source # 
Instance details

Defined in Language.While.Syntax

data StepResult a Source #

Constructors

Terminated 
Failed 
Progress a 

Instances

Instances details
Functor StepResult Source # 
Instance details

Defined in Language.While.Syntax

Methods

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

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

evalWhileExpr :: Applicative f => (forall x. WhileVar l x -> f x) -> WhileExpr l a -> f a Source #

lookupVar :: Ord l => Map l AlgReal -> WhileVar l a -> Maybe a Source #