Proceedings of the 2005 ACM SIGPLAN Workshop on Curry and Functional Logic Programming 2005
DOI: 10.1145/1085099.1085108
|View full text |Cite
|
Sign up to set email alerts
|

A generic analysis environment for declarative programs

Abstract: In this paper we present CurryBrowser, a generic analysis environment for the declarative multi-paradigm language Curry. CurryBrowser supports browsing through the implementation of an application written in Curry, i.e., the main module and all directly or indirectly imported modules. Each module can be shown in different formats (e.g., source code, interface, intermediate code) and, inside each module, various properties of functions defined in this module can be analyzed. In order to support the integration … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
12
0

Year Published

2007
2007
2022
2022

Publication Types

Select...
3
2
1

Relationship

4
2

Authors

Journals

citations
Cited by 6 publications
(12 citation statements)
references
References 22 publications
0
12
0
Order By: Relevance
“…There, HTML terms are represented as data structures containing event handlers associated to submit buttons and logic variables referring to user inputs in web pages that are passed to event handlers. These high-level APIs have been used in various applications, e.g., to implement web-based learning systems [52], constructing webbased interfaces for arbitrary applications [49] (there, the effectiveness of the multi-paradigm declarative programming style is demonstrated by a SuDoku solver with a web-based interface where the complete program consists of 20 lines of code), graphical programming environments [48,54], and documentation tools [46]. Furthermore, there are proposals to use multi-paradigm languages for high-level distributed programming [42,85], programming of embedded systems [50,51], object-oriented programming [53,82], or declarative APIs to databases [32,47].…”
Section: Applicationsmentioning
confidence: 99%
“…There, HTML terms are represented as data structures containing event handlers associated to submit buttons and logic variables referring to user inputs in web pages that are passed to event handlers. These high-level APIs have been used in various applications, e.g., to implement web-based learning systems [52], constructing webbased interfaces for arbitrary applications [49] (there, the effectiveness of the multi-paradigm declarative programming style is demonstrated by a SuDoku solver with a web-based interface where the complete program consists of 20 lines of code), graphical programming environments [48,54], and documentation tools [46]. Furthermore, there are proposals to use multi-paradigm languages for high-level distributed programming [42,85], programming of embedded systems [50,51], object-oriented programming [53,82], or declarative APIs to databases [32,47].…”
Section: Applicationsmentioning
confidence: 99%
“…The result is either the analysis information computed for this module or an error message in case of some execution error. This access to CASS is used in the documentation generator CurryDoc [13] to describe some operational aspects of functions (e.g., pattern completeness, non-determinism, solution completeness), the Curry compiler KiCS2 [8] to get information about the determinism and higher-order status of functions, the non-determinism optimizer described in [15] to obtain information about demanded arguments and non-deterministic functions, and in the CurryBrowser [14], which allows the user to browse through the modules of a Curry application and apply and visualize various analyses for each module or function. The server mode of CASS is used in a recently developed Eclipse plug-in for Curry [26] which also supports the visualization of analysis results inside Eclipse.…”
Section: Api Modementioning
confidence: 99%
“…For instance, CurryDoc [13] is an automatic documentation tool for the functional logic language Curry that analyzes Curry programs to document various operational aspects, like the non-determinism behavior or completeness issues. CurryBrowser [14] is an interactive analysis environment that unifies various program analyses in order to reason about Curry applications. KiCS2 [8], a recent implementation of Curry that compiles into Haskell, includes an analyzer to classify higher-order and deterministic operations in order to support their efficient implementation which results in highly efficient target programs.…”
Section: Introductionmentioning
confidence: 99%
“…Since the structure of UI elements is very similar to the elements of the Curry library GUI, which has been already used for various applications (e.g., [11,16,23]), one can also use our concept of UIs to enable the execution of such GUI-based desktop applications as web applications. For this purpose, we have also implemented a library GUI2HTML that provides the same interface as the library GUI but executes a GUI as a WUI by exploiting the library UI2HTML.…”
Section: Transforming Guis Into Wuismentioning
confidence: 99%
“…For this purpose, we have also implemented a library GUI2HTML that provides the same interface as the library GUI but executes a GUI as a WUI by exploiting the library UI2HTML. For instance, we have used this implementation to execute the Curry analysis environment CurryBrowser (its implementation consists of almost 4000 lines of Curry code), which is written in Curry and has a quite advanced graphical user interface (see [11]), in a standard web browser. The only necessary change was the replacement of the import of the library GUI by the import of the library GUI2HTML in the source code of the CurryBrowser implementation.…”
Section: Transforming Guis Into Wuismentioning
confidence: 99%