How to extend CurryBrowser: =========================== CurryBrowser is designed as a generic analysis tool for declarative programs. In particular, it provides some infrastructure to integrate new program analyses implemented in Curry. The ideas of this infrastructure are described in this paper: M. Hanus: A Generic Analysis Environment for Declarative Programs Proc. of the International Workshop on Curry and Functional Logic Programming (WCFLP 2005), pp. 43-48, ACM Press, 2005 http://www.informatik.uni-kiel.de/~mh/publications/papers/WCFLP05.html In the current implementation of CurryBrowser, the following steps are necessary to integrate a new program analysis (here, BROWSERDIR denotes the implementation directory of CurryBrowser): 1. Implement the new program analysis in a Curry module as a function of one of the types used in the module BROWSERDIR/AnalysesTypes.curry. For instance, a global analyses could be of type myana :: [FuncDecl] -> [(QName,a)] Example analyses can be found in the directory BROWSERDIR/analysis. 2. Include the new analysis in the file BROWSERDIR/BrowserAnalysis.curry, i.e., import the module containing the new analysis and add the corresponding analysis function in one of the list constants specifying the current analyses (e.g., functionAnalyses, allFunctionAnalyses, moduleAnalyses). 3. Run `cpm install` in BROWSERDIR. If everything runs well, the new analysis is available with the next invocation of CurryBrowser. If your analysis is of general interest for Curry users, please sent it to Michael Hanus so that it can be included in future distributions of the CurryBrowser.