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