camfort-1.0.1: CamFort - Cambridge Fortran infrastructure
Safe HaskellNone
LanguageHaskell2010

Camfort.Specification.Hoare.Translate

Description

Translation from annotation syntax defined in Camfort.Specification.Hoare.Syntax to strongly-typed meta-expressions defined in Language.Fortran.Model.Op.Meta.

Synopsis

Meta Expression Types

type MetaExpr = HFree' AllOps Source #

Translation

translateBoolExpression :: (Monad m, MonadFail m) => Expression (Analysis ann) -> TranslateT m (MetaExpr FortranVar Bool) Source #

Translate a boolean-valued untyped Fortran expression into a strongly typed MetaExpr.

translateFormula :: (Monad m, MonadFail m) => PrimFormula (Analysis ann) -> TranslateT m (MetaFormula Bool) Source #

Translate an untyped logical formula into a strongly typed MetaFormula.

Combinators

intoMetaExpr :: (ChooseOp op AllOps, HTraversable op) => HFree op v a -> MetaExpr v a Source #

Convert an expression over HighOp, MetaOp or CoreOp into a MetaExpr.