CurryInfo: Managing Analysis and Verification Information about Curry Packages

by Michael Hanus

Proceedings of the 35th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2025), Springer LNCS 16177, pp. 123-134, 2025
© Springer-Verlag

CurryInfo is a tool to manage information about program entities defined in modules of Curry packages. CurryInfo is designed as a generic and extensible system so that the kind of information ranges from syntactic (e.g., comments, types, source code) to semantic aspects (e.g., determinism, termination, total definition, non-failing). CurryInfo collects such information and provides various methods to access them. For instance, one can show this information in a REPL or IDE to help the programmer to select or use operations in an appropriate manner. Another application is to include this information in other tools to analyze or verify programs. Since CurryInfo manages a cache containing information about all Curry packages, this can speed up such tools on larger applications.

Preprint (PDF) BibTeX-Entry Online