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

Language.While.Syntax

Documentation

data WhileOpKind (as :: [Type]) r where Source #

Instances

Instances details
EvalOpAt Identity WhileOpKind Source # 
Instance details

Defined in Language.While.Syntax

Methods

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

EvalOpAt SBV WhileOpKind Source # 
Instance details

Defined in Language.While.Syntax

Methods

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

PrettyOp WhileOpKind Source # 
Instance details

Defined in Language.While.Syntax

Methods

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

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

Defined in Language.While.Syntax

Num (WhileExpr l 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 :: forall l. l -> WhileVar l AlgReal 

Instances

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

Defined in Language.While.Syntax

VerifiableVar (WhileVar String) Source # 
Instance details

Defined in Language.While.Syntax

Associated Types

type VarKey (WhileVar String) 
Instance details

Defined in Language.While.Syntax

type VarSym (WhileVar String) 
Instance details

Defined in Language.While.Syntax

type VarEnv (WhileVar String) 
Instance details

Defined in Language.While.Syntax

type VarEnv (WhileVar String) = ()
IsString s => IsString (WhileExpr s AlgReal) Source # 
Instance details

Defined in Language.While.Syntax

Num (WhileExpr l AlgReal) Source # 
Instance details

Defined in Language.While.Syntax

type VarEnv (WhileVar String) Source # 
Instance details

Defined in Language.While.Syntax

type VarEnv (WhileVar String) = ()
type VarKey (WhileVar String) Source # 
Instance details

Defined in Language.While.Syntax

type VarSym (WhileVar String) Source # 
Instance details

Defined in Language.While.Syntax

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 #