Module Analysis.RootReplaced

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

Exported Functions


showRootRepl :: AOutFormat -> ([(String, String)], [Int]) -> String  Deterministic 


rootReplAnalysis :: Analysis ([(String, String)], [Int])  Deterministic 

Root replacement analysis.


showRootCyclic :: AOutFormat -> Bool -> String  Deterministic 

Further infos:
  • solution complete, i.e., able to compute all solutions

rootCyclicAnalysis :: Analysis Bool  Non-deterministic 

Root cyclic analysis.