A simplifier for FlatCurry programs. In particular, it replaces calls to Eq.== implementations by Prelude.==
Author: Michael Hanus
Version: September 2024
simpProg
:: Prog -> Prog |
simpFuncDecl
:: FuncDecl -> FuncDecl |
simpExpr
:: Expr -> Expr Implements the following transformations:
|
simpClassEq
:: Expr -> Expr |
simpArithExp
:: Expr -> Expr Simplify applications of primitive operations, i.e., apply (apply op e1) e2 ==> op [e1,e2] apply (apply op e1 :: t) e2 ==> op [e1,e2] apply op e1 ==> op [e1] |
|
Implements the following transformations:
|
|
Simplify applications of primitive operations, i.e., apply (apply op e1) e2 ==> op [e1,e2] apply (apply op e1 :: t) e2 ==> op [e1,e2] apply op e1 ==> op [e1] |