why3-0.8: Haskell support for the Why3 input format.

Safe HaskellSafe-Inferred
LanguageHaskell98

Language.Why3.Lens

Documentation

exprPlate :: Applicative f => (Expr -> f Expr) -> Expr -> f Expr Source

_App :: Prism' Expr (Name, [Expr]) Source

_If :: Prism' Expr (Expr, Expr, Expr) Source

_Match :: Prism' Expr ([Expr], [(Pattern, Expr)]) Source

_Conn :: Prism' Expr (Conn, Expr, Expr) Source

_Not :: Prism' Expr Expr Source

_Quant :: Prism' Expr (Quant, [(Name, Type)], [[Expr]], Expr) Source

_Field :: Prism' Expr (Name, Expr) Source

_Record :: Prism' Expr [(Name, Expr)] Source

_Cast :: Prism' Expr (Expr, Type) Source

_And :: Prism' Conn () Source

_AsymAnd :: Prism' Conn () Source

_Or :: Prism' Conn () Source

_AsymOr :: Prism' Conn () Source

_Implies :: Prism' Conn () Source

_Iff :: Prism' Conn () Source

_Goal :: Prism' Decl (Name, Expr) Source

_Axiom :: Prism' Decl (Name, Expr) Source

_Lemma :: Prism' Decl (Name, Expr) Source

_Type :: Prism' Decl (Name, [Text], [(Name, [Text])]) Source

_TypeDef :: Prism' Decl (Name, [Text], [(Name, [Text])], TypeDef) Source

_Predicate :: Prism' Decl (Name, [Text], [Type]) Source

_Function :: Prism' Decl (Name, [Text], [Type], Type) Source

_Import :: Prism' ImpExp () Source

_Export :: Prism' ImpExp () Source

_PWild :: Prism' Pattern () Source

_Forall :: Prism' Quant () Source

_Exists :: Prism' Quant () Source

_TyCon :: Prism' Type (Name, [Type]) Source

_Tuple :: Prism' Type [Type] Source