Module Analysis.Indeterministic

Indeterminism analysis: check whether functions are indeterministic, i.e., might deliver different results for different runs of a program. This could be the case if there are explicit or implicit calls to indeterministic encapsulation operation (e.g. Control.Search.SetFunctions.select) or operations from the module System.IO.Unsafe.

Author: Michael Hanus

Version: February 2025

Summary of exported operations:

indetAnalysis :: Analysis Bool  Deterministic 
The indeterminism analysis is a global function dependency analysis.
showIndet :: AOutFormat -> Bool -> String  Deterministic 

Exported operations:

indetAnalysis :: Analysis Bool  Deterministic 

The indeterminism analysis is a global function dependency analysis. It assigns to a function a flag which is True if this function might be indeterministic (i.e., calls directly or indirectly some indeterministic operation.

showIndet :: AOutFormat -> Bool -> String  Deterministic 

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