Module defining main operations to transform programs in order to implement a sequential rule selection strategy.
Author: Lasse Folger (with changes by Michael Hanus)
Version: September 2015
transSequentialRules
:: Int -> [String] -> String -> CurryProg -> IO CurryProg
Start sequentializer in "preprocessor mode": |
translate
:: CurryProg -> String -> CurryProg
Main operation to translate a Curry module into a new one implementing a sequential rule selection strategy. |
renameQN
:: String -> String -> (String,String) -> (String,String)
|
renameT
:: String -> String -> [CTypeDecl] -> [CTypeDecl]
|
renameF
:: String -> String -> [CFuncDecl] -> [CFuncDecl]
|
Start sequentializer in "preprocessor mode": |
Main operation to translate a Curry module into a new one implementing a sequential rule selection strategy. It consists of the selection of operations defined by non-deterministic patterns, reduce patterns to a normalized structure, and renaming qualified names to the name of the output module. |
|