Newer
Older
module LogicIR.Backend.Z3 (lExprToZ3Ast) where
import Z3.Monad
import LogicIR.Expr
import LogicIR.Fold
lExprToZ3Ast :: LExpr -> Z3 AST
lExprToZ3Ast = foldLExpr lExprToZ3AstAlgebra
lExprToZ3AstAlgebra :: LExprAlgebra (Z3 AST)
lExprToZ3AstAlgebra = (flConst, flVar, flNot, flBinop, flComp, flQuant, flArray, flNil, fnConst, fnUnop, fnBinop, fnIf, fnLen) where
flConst = undefined
flVar = undefined
flNot = undefined
flBinop = undefined
flComp = undefined
flQuant = undefined
flArray = undefined
flNil = undefined
fnConst = undefined
fnUnop = undefined
fnBinop = undefined
fnIf = undefined
fnLen = undefined