This module provides transforms FlatCurry programs for concolic evaluation:
Author: Jan Tikovsky
Version: August 2017
get
:: ICM Int
|
put
:: Int -> ICM ()
|
freshID
:: ICM Int
Generate a fresh identifier |
idCases
:: [AFuncDecl a] -> ([AFuncDecl (a,Maybe Int,Bool)],Int)
Annotate case expressions with fresh identifiers and mark literals |
idFunc
:: AFuncDecl (a,Maybe Int,Bool) -> ICM (AFuncDecl (a,Maybe Int,Bool))
|
idRule
:: ARule (a,Maybe Int,Bool) -> ICM (ARule (a,Maybe Int,Bool))
|
idExpr
:: AExpr (a,Maybe Int,Bool) -> ICM (AExpr (a,Maybe Int,Bool))
|
Identify Cases Monad
Constructors: