|
A tool to analyze the residuation behavior of a module. It can just show the results, making some statistics, or writes the results into a file which can be used by PAKCS to optimize the implementation of non-residuating operations.
Author: Michael Hanus
Version: December 2020
banner
:: String
|
main
:: IO ()
|
residuationInfoOf
:: String -> IO [((String,String),ResiduationInfo)]
Returns the residuation information of all operations defined in a module. |
genResInfo
:: Options -> String -> IO ()
|
writeResInfoFile
:: Options -> [((String,String),ResiduationInfo)] -> IO ()
Writes a file containing residuation information in Curry term format. |
allResOps
:: [((String,String),ResiduationInfo)] -> [String]
Returns the list of possibly residuating operations. |
countResOps
:: String -> IO [String]
Counts all possibly residuating and non-residuating operations. |
countResOps2CSV
:: [String] -> IO ()
|
|
|
Returns the residuation information of all operations defined in a module. |
|
Writes a file containing residuation information in Curry term format. The term is a list of pairs consisting of the qualified function name together with the list of argument positions which must be ground values to ensure that the function call does not residuate and yields a ground value. If the function might always residuate, the argument position list is [0]. |
Returns the list of possibly residuating operations. |
Counts all possibly residuating and non-residuating operations. |
|