There exists various tools to analyze Curry programs.
Usually, these tools are distributed as
Curry Packages
for easy installation on a local machine.
In order to allow testing some of these tools on simple programs
without installing them locally, there are web demos
of some of these tools. These are listed below together with a reference
to the corresponding web app.
-
CASS Web Demo:
CASS (Curry Analysis Server System)
is a tool for the analysis of Curry programs.
CASS is generic so that various kinds of analyses
(e.g., groundness, non-determinism, demanded arguments)
can be easily integrated into CASS.
This web demo allows to apply CASS and various analyses
to simple programs via a web interface.
-
Contract Prover Web Demo:
The Curry Contract Prover
is a tool to verify and add contracts
in FlatCurry programs by proving contracts with an SMT solver.
If a proof is successful, no contract check will be performed
at run time, otherwise a dynamic (strict) contract check
will be added.
This web demo allows to apply the Curry Contract Prover
to simple programs via a web interface.
-
Fail-Free Verifier Web Demo:
The Curry Fail-Free Verifier
is a tool to verify that all operations in a given Curry module
are non-failing, i.e., their evaluation does not result in a
failure, if they are called with appropriate arguments.
The tool automatically infers abstract call types and
non-fail conditions specifying supersets of appropriate arguments.
This web demo allows to apply the Curry Fail-Free Verifier
to simple programs via a web interface.
-
Prolog2Curry Translator Web Demo:
The Prolog2Curry Translator
is a tool to transform Prolog programs to Curry programs.
The idea of this tool is to demonstrate the advantages of
functional logic languages compared to purely logic languages.
Thus, the tool translates only pure logic programs
(without side effecting predicates etc).
This web demo allows to apply the Prolog2Curry Translator
to simple programs via a web interface.