Module SourceProgGUI

A simple GUI for highlighting functions in the source text of a Curry module. This GUI is used in the REPL of the Curry system KiCS2 and PAKCS to implement the command source.

In order to use this GUI, start it with the shell command

> curry-showsource <module name>

Select highlighting of operations in the specified module by writing the following commands on stdin:

+fun          -> highlight function "fun"
-fun          -> remove highlighting for function "fun"
<empty line>  -> terminate GUI
q             -> terminate GUI

Version: December 2018

Summary of exported operations:

findFunDeclInProgText :: String -> String -> Int   
findFirstDeclLine :: String -> [String] -> Int -> Int   
sourceProgGUI :: String -> [(String,(Int,Int))] -> (Widget,[Handle -> GuiPort -> IO [ReconfigureItem]])   
startGUI :: String -> IO ()   
main :: IO ()   
splitProgDefs :: String -> [(String,(Int,Int))]   
groupFuns :: [(String,Int)] -> [(String,(Int,Int))]   
deleteAdjacentFuns :: [(String,Int)] -> [(String,Int)]   
keywords :: [String]   
funDefOfLine :: String -> Maybe String   
isCommentLine :: String -> Bool   

Exported operations:

findFunDeclInProgText :: String -> String -> Int   

findFirstDeclLine :: String -> [String] -> Int -> Int   

sourceProgGUI :: String -> [(String,(Int,Int))] -> (Widget,[Handle -> GuiPort -> IO [ReconfigureItem]])   

startGUI :: String -> IO ()   

main :: IO ()   

splitProgDefs :: String -> [(String,(Int,Int))]   

groupFuns :: [(String,Int)] -> [(String,(Int,Int))]   

deleteAdjacentFuns :: [(String,Int)] -> [(String,Int)]   

keywords :: [String]   

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

funDefOfLine :: String -> Maybe String   

isCommentLine :: String -> Bool