Module CurryBrowseAnalysis.Dependency

A few base functions for analysing dependencies in FlatCurry programs:

Author: Michael Hanus

Version: November 2020

Summary of exported operations:

analyseWithDependencies :: (FuncDecl -> a) -> ([a] -> a) -> [FuncDecl] -> [((String,String),a)]  Deterministic 
externalDependent :: [FuncDecl] -> [((String,String),[(String,String)])]  Deterministic 
indirectlyDependent :: [FuncDecl] -> [((String,String),[(String,String)])]  Deterministic 
callsDirectly :: FuncDecl -> [(String,String)]  Deterministic 
dependencyGraphs :: [FuncDecl] -> [((String,String),[((String,String),[(String,String)])])]  Deterministic 
localDependencyGraphs :: [FuncDecl] -> [((String,String),[((String,String),[(String,String)])])]  Deterministic 
funcsInExpr :: Expr -> [(String,String)]  Deterministic 

Exported operations:

analyseWithDependencies :: (FuncDecl -> a) -> ([a] -> a) -> [FuncDecl] -> [((String,String),a)]  Deterministic 

externalDependent :: [FuncDecl] -> [((String,String),[(String,String)])]  Deterministic 

indirectlyDependent :: [FuncDecl] -> [((String,String),[(String,String)])]  Deterministic 

callsDirectly :: FuncDecl -> [(String,String)]  Deterministic 

dependencyGraphs :: [FuncDecl] -> [((String,String),[((String,String),[(String,String)])])]  Deterministic 

localDependencyGraphs :: [FuncDecl] -> [((String,String),[((String,String),[(String,String)])])]  Deterministic 

funcsInExpr :: Expr -> [(String,String)]  Deterministic