Module BrowserGUI

GUI for CurryBrowser, a generic analysis environment for declarative programs.

Author: Michael Hanus

Version: December 2018

Summary of exported operations:

showExecTime :: Bool   
title :: String   
main :: IO ()   
start :: String -> IO ()   
trees2strings :: [Tree a] -> [String]   
tree2strings :: Int -> Tree a -> [String]   
blanks :: Int -> String   
getTreesNodeName :: Int -> [Tree a] -> String   
getTreesValue :: Int -> [Tree a] -> a   
changeTrees :: Int -> [Tree (String,[(String,[String])])] -> IO [Tree (String,[(String,[String])])]   
openNode :: Eq a => (a,[(a,[String])]) -> IO [Tree (String,[(a,[String])])]   
getMainLoadPath :: IORef GuiState -> IO [String]   
getTrees :: IORef GuiState -> IO [Tree (String,[(String,[String])])]   
storeTrees :: IORef GuiState -> [Tree (String,[(String,[String])])] -> IO ()   
getAllImportsOfModule :: IORef GuiState -> String -> IO [String]   
getFuns :: IORef GuiState -> IO [FuncDecl]   
storeSelectedFunctions :: IORef GuiState -> [FuncDecl] -> IO ()   
setMainContentsModule :: IORef GuiState -> String -> ContentsKind -> String -> IO ()   
getContentsModule :: IORef GuiState -> IO String   
getMainContents :: IORef GuiState -> IO (ContentsKind,String)   
getFunctionListKind :: IORef GuiState -> IO Bool   
setFunctionListKind :: IORef GuiState -> Bool -> IO ()   
getAllModules :: IORef GuiState -> IO [Prog]   
getIntWithName :: IORef GuiState -> String -> IO Prog   
getProgWithName :: IORef GuiState -> (String -> IO ()) -> String -> IO Prog   
getAllTypes :: IORef GuiState -> (String -> IO ()) -> String -> IO [TypeDecl]   
getAllFunctions :: IORef GuiState -> (String -> IO ()) -> String -> IO [FuncDecl]   
getAllFunctionNames :: IORef GuiState -> String -> IO [(String,String)]   
getCurrentFunctionAnalysis :: IORef GuiState -> IO (Maybe (FunctionAnalysis AnalysisResult))   
setCurrentFunctionAnalysis :: IORef GuiState -> Maybe (FunctionAnalysis AnalysisResult) -> IO ()   
readProgAndStore :: IORef GuiState -> (String -> IO ()) -> String -> IO Prog   
readProgAndStoreIfNecessary :: IORef GuiState -> (String -> IO ()) -> (String,InterfaceOrFlatProg) -> IO ()   
findDecl4name :: [FuncDecl] -> (String,String) -> FuncDecl   
browserGUI :: IORef GuiState -> WidgetRef -> WidgetRef -> [String] -> Widget   
isPublic :: FuncDecl -> Bool   
findFunDeclInProgText :: ContentsKind -> String -> (String,String) -> Int   
findFirstDeclLine :: Eq a => [a] -> [[a]] -> Int -> Int   
browserDir :: String   
leqQName :: (String,String) -> (String,String) -> Bool   
showQNameWithMod :: (String,String) -> String   
noAnalysisText :: String   
getAnswer :: String -> String -> (String -> IO ()) -> IO ()   

Exported datatypes:


Tree

Constructors:

  • Leaf :: String -> a -> Tree a
  • Node :: String -> a -> [Tree a] -> Tree a

ImportTree

Type synonym: ImportTree = [Tree (String,[(String,[String])])]


GuiState

Constructors:


Exported operations:

showExecTime :: Bool   

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

title :: String   

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

main :: IO ()   

start :: String -> IO ()   

trees2strings :: [Tree a] -> [String]   

tree2strings :: Int -> Tree a -> [String]   

blanks :: Int -> String   

getTreesNodeName :: Int -> [Tree a] -> String   

getTreesValue :: Int -> [Tree a] -> a   

changeTrees :: Int -> [Tree (String,[(String,[String])])] -> IO [Tree (String,[(String,[String])])]   

openNode :: Eq a => (a,[(a,[String])]) -> IO [Tree (String,[(a,[String])])]   

getMainLoadPath :: IORef GuiState -> IO [String]   

getTrees :: IORef GuiState -> IO [Tree (String,[(String,[String])])]   

storeTrees :: IORef GuiState -> [Tree (String,[(String,[String])])] -> IO ()   

getAllImportsOfModule :: IORef GuiState -> String -> IO [String]   

getFuns :: IORef GuiState -> IO [FuncDecl]   

setMainContentsModule :: IORef GuiState -> String -> ContentsKind -> String -> IO ()   

getContentsModule :: IORef GuiState -> IO String   

getMainContents :: IORef GuiState -> IO (ContentsKind,String)   

getFunctionListKind :: IORef GuiState -> IO Bool   

setFunctionListKind :: IORef GuiState -> Bool -> IO ()   

getAllModules :: IORef GuiState -> IO [Prog]   

getIntWithName :: IORef GuiState -> String -> IO Prog   

getProgWithName :: IORef GuiState -> (String -> IO ()) -> String -> IO Prog   

getAllTypes :: IORef GuiState -> (String -> IO ()) -> String -> IO [TypeDecl]   

getAllFunctions :: IORef GuiState -> (String -> IO ()) -> String -> IO [FuncDecl]   

getAllFunctionNames :: IORef GuiState -> String -> IO [(String,String)]   

readProgAndStore :: IORef GuiState -> (String -> IO ()) -> String -> IO Prog   

readProgAndStoreIfNecessary :: IORef GuiState -> (String -> IO ()) -> (String,InterfaceOrFlatProg) -> IO ()   

findDecl4name :: [FuncDecl] -> (String,String) -> FuncDecl   

browserGUI :: IORef GuiState -> WidgetRef -> WidgetRef -> [String] -> Widget   

isPublic :: FuncDecl -> Bool   

findFunDeclInProgText :: ContentsKind -> String -> (String,String) -> Int   

findFirstDeclLine :: Eq a => [a] -> [[a]] -> Int -> Int   

browserDir :: String   

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

leqQName :: (String,String) -> (String,String) -> Bool   

showQNameWithMod :: (String,String) -> String   

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

noAnalysisText :: String   

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

getAnswer :: String -> String -> (String -> IO ()) -> IO ()