Skip to content

Commit dc8c5e8

Browse files
author
Damian Rouson
committed
doc(README): update README for the latest commits
1 parent 86d2546 commit dc8c5e8

File tree

1 file changed

+27
-22
lines changed

1 file changed

+27
-22
lines changed

README.md

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,40 +9,45 @@ Overview
99
========
1010

1111
DAG is a Fortran 2018 library for creating and manipulating directed acyclic graphs (DAGs).
12-
DAG is based on a fork of [daglib by Jacob Williams], refactored to add
12+
DAG is based on a fork of [daglib by Jacob Williams], refactored to
1313

14-
* A build system and test harness automated by [fpm],
15-
* Unit testing written with [Vegetables],
16-
* Continuous-integration testing and documentation deployment via [GitHub Actions],
17-
* Documentation generated by [FORD],
18-
* Runtime assertion-checking using [Assert], and
19-
* [JSON] file input/output using [jsonff].
14+
* Adopt a functional programming pattern based on (mostly) pure function constructors
15+
and component getters but no setters. When compilers cooperate, we recommend using
16+
`associate` to assign names to constructor results to avoid unnecessary copies.
17+
* Add build system and test harness automated by [fpm],
18+
* Add unit testing written with [Vegetables],
19+
* Add continuous-integration testing and documentation deployment via [GitHub Actions],
20+
* Add ocumentation generated by [FORD],
21+
* Add runtime assertion-checking using [Assert], and
22+
* Add [JSON] file input/output using [jsonff].
2023

21-
DAG includes a topological sort feature, and it generates files in the [GraphViz] "dot" format.
24+
Constructor results contain an private index array that describes a topologically sorting
25+
of the vertices in a DAG.
2226

2327
Prerequisites
2428
-------------
25-
DAG was developed with the following prerequisite package versions:
29+
The [fpm] package manager automatically downloads and builds all dependencies.
30+
See [fpm.toml] for a complete list, including version numbers.
2631

27-
1. [gfortran] 10.2.0
28-
2. [OpenCoarrays] 2.9.2
29-
3. [fpm] 0.1.3
30-
4. [graphviz] 2.44.1
31-
32-
Earlier versions might work also.
33-
34-
Building and testing
32+
Downloading, building and testing
3533
--------------------
36-
After installing [fpm], clone, build, and test, execute the following in a `bash`-like shell:
34+
With [fpm] installed, clone
3735
```
3836
git clone [email protected]:sourceryinstitute/dag
39-
fpm test --compiler caf --runner "cafrun -n 1"
4037
```
41-
replacing `1` in the last line with the desired number of images to execute in parallel for
42-
each test. Also try compiling and running the example with
38+
### Serial build and testing
39+
Build and test the `dag` library with in a `bash`-like shell as follows:
40+
```
41+
fpm test
4342
```
44-
fpm run --example
43+
### Parallel building and testing with the gfortran/OpenCoarrays
44+
Build and test the `dag` library with in a `bash`-like shell as follows:
4545
```
46+
fpm test --compiler caf --runner "cafrun -n 2"
47+
```
48+
replacing `2` in the last line with the desired number of images to execute in parallel
49+
for each test.
50+
4651
Please report any test failures by submitting an [issue] on the DAG repository.
4752

4853
Examples

0 commit comments

Comments
 (0)