README.md 2.02 KB
Newer Older
Michael Hanus 's avatar
Michael Hanus committed
1
2
3
Curry Tools
===========

4
5
6
This directory contains various tools for Curry
that are used by different Curry systems, like PAKCS or KiCS2.

7
Currently, it contains the following tools:
8

Michael Hanus 's avatar
Michael Hanus committed
9
`addtypes`:
Björn Peemöller 's avatar
Björn Peemöller committed
10
A tool that adds type signatures to a given Curry program.
Michael Hanus 's avatar
Michael Hanus committed
11

12
`analysis`:
Michael Hanus 's avatar
Michael Hanus committed
13
14
A directory containing various analyses for Curry programs.
These are used in the `CASS` and `currydoc` tools.
15

Michael Hanus 's avatar
Michael Hanus committed
16
17
18
19
`browser`:
A tool to browse through the modules and functions of a Curry program,
show them in various formats, and analyze their properties.

20
21
22
`casc`:
A style checker for Curry programs.

Michael Hanus 's avatar
Michael Hanus committed
23
24
25
26
27
`CASS`:
This directory contains the implementation of the
Curry Analysis Server System, a generic and distributed analysis system
for Curry programs.

Michael Hanus 's avatar
Michael Hanus committed
28
29
30
31
32
33
34
`createmakefile`:
A tool to create a simple makefile for a Curry application.

`curry2js`:
A compiler for Curry into JavaScript programs used in the
generation of web user interfaces (WUIs).

Michael Hanus 's avatar
Michael Hanus committed
35
36
`currycheck`:
A property test tool for Curry programs.
37

38
39
`currydoc`:
A documentation generator for Curry programs.
Michael Hanus 's avatar
Michael Hanus committed
40

Michael Hanus 's avatar
Michael Hanus committed
41
42
43
44
`currypp`:
A preprocessor for Curry programs implementing integrated code,
default rules, deterministic functions, and dynamic contract checking.

45
46
47
48
`currytest`:
A test tool for Curry programs.

`ertools`:
Michael Hanus 's avatar
Michael Hanus committed
49
50
Compilers to translate database (ER) models
into Curry programs providing high-level access to relational databases.
Michael Hanus 's avatar
Michael Hanus committed
51

52
53
`importcalls`:
A tool to show all calls to imported functions in a module.
Michael Hanus 's avatar
Michael Hanus committed
54

Michael Hanus 's avatar
Michael Hanus committed
55
56
57
58
59
60
61
62
63
64
65
66
67
68
`optimize`:
The implementation of optimization tools cor Curry,
in particular, a transformation tool to replace Boolean equalities
by unification constraints.

`runcurry`:
The implementation of the command `runcurry`.

`spicey`:
The implementation of Curry's web framework Spicey.

`verification`:
This directory contains tools to support the verification of
Curry programs, e.g., a translator of Curry programs into Agda.
Michael Hanus 's avatar
Michael Hanus committed
69
70
71
72
73
74

`xmldata`:
This directory contains a tool to generate conversion functions
between data types and XML representations. The corresponding
tool is called by the command `data2xml` in the binary directory
of the Curry system.