Copyright | (c) 2015-2016 Galois, Inc. |
---|---|
License | BSD3 |
Maintainer | cryptol@galois.com |
Stability | provisional |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell98 |
Simplification of expressions.
The result of simplifying an expression e
, is a new expression e'
,
which satisfies the property:
if e is well-defined then e and e' will evaluate to the same type.
Documentation
crySimpExpr :: Expr -> Expr Source
Simplify an expression, if possible.
crySimpExprMaybe :: Expr -> Maybe Expr Source
Perform simplification from the leaves up.
Returns Nothing
if there were no changes.
crySimpExprStep :: Expr -> Maybe Expr Source
crySimpExprStep1 :: Expr -> Maybe Expr Source
Make a simplification step, assuming the expression is well-formed.