RootReplaced analysis: This analysis returns for each function f all functions to which this can be replaced at the root. For instance, if there are the definitions:
f x = g x g x = h x h x = k x : []
then the root replacements of f are [g,h].
This analysis could be useful to detect simple loops, e.g., if
a function is in its root replacement. This is the purpose
of the analysis RootCyclic
which assigns True
to some
operation if this operation might cause a cyclic root replacement.
Author: Michael Hanus
Version: January 2017
showRootRepl
:: AOutFormat -> ([(String,String)],[Int]) -> String
|
rootReplAnalysis
:: Analysis ([(String,String)],[Int])
Root replacement analysis. |
showRootCyclic
:: AOutFormat -> Bool -> String
|
rootCyclicAnalysis
:: Analysis Bool
Root cyclic analysis. |
|
Root replacement analysis. |
|
Root cyclic analysis. |