README.md 1.26 KB
Newer Older
1
# CoPaR, the `Co`algebraic `Pa`rtition `R`efiner
Hans-Peter Deifel's avatar
Hans-Peter Deifel committed
2
3
4
5
6

## Building

    stack build

Hans-Peter Deifel's avatar
Hans-Peter Deifel committed
7
Alternatively, you can directly download the [latest binaries for
Thorsten Wißmann's avatar
Thorsten Wißmann committed
8
linux](https://git8.cs.fau.de/software/copar/-/jobs/artifacts/master/download?job=test).
9

Hans-Peter Deifel's avatar
Hans-Peter Deifel committed
10
11
12
13
Enabling the flag `benchmark-generators` also build generators and helper
executables used to create various benchmark suites that have been used in
different publications. To build with that flag, use the command `stack build
--flag copar:benchmark-generators`.
Hans-Peter Deifel's avatar
Hans-Peter Deifel committed
14

Hans-Peter Deifel's avatar
Hans-Peter Deifel committed
15
## Running
Hans-Peter Deifel's avatar
Hans-Peter Deifel committed
16

Hans-Peter Deifel's avatar
Hans-Peter Deifel committed
17
To partition states of a coalgebra specification, use the command
Hans-Peter Deifel's avatar
Hans-Peter Deifel committed
18

Hans-Peter Deifel's avatar
Hans-Peter Deifel committed
19
20
21
    stack exec -- copar refine FILENAME
    
Examples for input files are in the directory `examples/`.
22

Thorsten Wißmann's avatar
Thorsten Wißmann committed
23
24
Command line syntax is described in `copar --help` and the input
file syntax in `copar help`.
25

26
27
28
## Benchmarks

Extensive benchmarks of CoPaR on different input files can be found at
29
[git8.cs.fau.de/software/copar-benchmarks](https://git8.cs.fau.de/software/copar-benchmarks).
30
31
32
33

Micro-Benchmarks for internal data structures and routines are available in the
`bench/` directory and can be executed with `stack bench`.

34
35
36
37
38
## API documentation

The documentation for the internal API can be built and opened in the
default browser with:

Hans-Peter Deifel's avatar
Hans-Peter Deifel committed
39
    stack haddock --open copar
40
41

This can help to understand the code structure.