build: Add COPYING-gplv3 to EXTRA_DIST
[8sync.git] / README.md
1 8sync: an asynchronous programming library for Guile
2 ====================================================
3
4 GNU 8sync (pronounced "eight-sync") is an asynchronous programming
5 library for [GNU Guile](https://www.gnu.org/software/guile/).
6
7 Be warned: it is early days for the 8sync project.  New contributors
8 and users are more than welcome, but beware API instability.
9
10 Some features:
11  - An asynchronous event loop!  Non-blocking on ports and file access.
12  - Easy to use!  The =8sync= operator lets you write
13    asynchronous code that looks simple while avoiding callback hell.
14    This happens through the magic of
15    [delimited continuations](https://www.gnu.org/software/guile/manual/html_node/Prompts.html).
16    ([Hence the %](https://www.gnu.org/software/guile/manual/html_node/Shift-and-Reset.html#Shift-and-Reset)!)
17  - Provides building blocks on which you can build other asynchronous
18    frameworks or paradigms on top of it (some of which will be
19    included in the future), like:
20    - an actor model implementation
21    - the propagator model
22    - web frameworks
23    - your very heart's desire!
24
25 How do I use it?
26 ----------------
27
28 For now, read the source ;)
29
30 Hey, I ought to get some docs up, right?  Soon, I promise!
31
32
33 License
34 -------
35
36 Everything in here is LGPL v3 or later, as published by the Free
37 Software Foundation, with exceptions below:
38
39  - Some autotools related files are under the GPL v3 or later in the
40    toplevel directory (their headers will say).  I guess if you
41    compile things using them, maybe this project becomes GPL v3 or
42    later?  I don't think so because the build tools themselves aren't
43    linked, but I can't be sure.  If you really care, consider this
44    whole project GPL v3 or later optionally... anyway a
45    COPYING-gplv3.txt is included for these reasons.