aboutsummaryrefslogtreecommitdiff
path: root/README.org
blob: a9504a8c27f7f2920dbecbb9be1bdd38a80741ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#+TITLE: Concise Common Workflow Language (ccwl)

[[https://ci.systemreboot.net/jobs/ccwl-with-guile-3.0][https://ci.systemreboot.net/badge/ccwl-with-guile-3.0.svg]] [[https://ci.systemreboot.net/jobs/ccwl-with-guile-3.0-latest][https://ci.systemreboot.net/badge/ccwl-with-guile-3.0-latest.svg]] [[https://ci.systemreboot.net/jobs/ccwl-website][https://ci.systemreboot.net/badge/ccwl-website.svg]]

The Concise Common Workflow Language (ccwl) is a concise syntax to
express CWL workflows. It is implemented as an Embedded Domain
Specific Language (EDSL) in the Scheme programming language, a
minimalist dialect of the Lisp family of programming languages.

ccwl is a compiler to generate CWL workflows from concise descriptions
in ccwl. In the future, ccwl will also have a runtime whereby users
can interactively execute workflows while developing them.

#+BEGIN: download
#+END:

* Installation
** Using Guix

The easiest and best way (considering reproducibility) is to install
ccwl through [[https://guix.gnu.org/][GNU Guix]]. The Guix package definition for ccwl is in the
file /guix.scm/. You can use it to install ccwl by running
#+BEGIN_SRC shell
  $ guix package -if guix.scm
#+END_SRC

** Manually

You can also install ccwl more traditionally using the provided GNU
build system scripts. You will have to ensure that the necessary
dependencies (guile and guile-libyaml) are installed, and then run

#+BEGIN_SRC shell
  $ ./bootstrap.sh
  $ ./configure; make; make install
#+END_SRC

If you are using a release tarball, you may skip the /bootstrap.sh/
step.

* Documentation

[[https://ccwl.systemreboot.net/manual/dev/en/][Documentation for ccwl]] is available online. If ccwl is installed on
your machine, you may also read the manual using your info
browser. The Tutorial section of the manual provides a gentle
introduction to ccwl.

* Contributing

Feedback, suggestions, feature requests, bug reports and pull requests
are all welcome. Unclear and unspecific error messages are considered
a bug. Do report them!

* License

ccwl is free software released under the terms of the [[https://www.gnu.org/licenses/gpl.html][GNU General
Public License]], either version 3 of the License, or (at your option)
any later version.