1 8sync: an asynchronous programming library for Guile
2 ====================================================
4 GNU 8sync (pronounced "eight-sync") is an asynchronous programming
5 library for [GNU Guile](https://www.gnu.org/software/guile/).
7 Be warned: it is early days for the 8sync project. New contributors
8 and users are more than welcome, but beware API instability.
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
23 - your very heart's desire!
25 See INSTALL for install instructions. It's the usual GNU process!
31 For now, read the source ;)
33 Hey, I ought to get some docs up, right? Soon, I promise!
39 Everything in here is LGPL v3 or later, as published by the Free
40 Software Foundation (see COPYING), with exceptions below:
42 - Some autotools related files are under the GPL v3 or later in the
43 toplevel directory (their headers will say). I guess if you
44 compile things using them, maybe this project becomes GPL v3 or
45 later? I don't think so because the build tools themselves aren't
46 linked, but I can't be sure. If you really care, consider this
47 whole project GPL v3 or later optionally... anyway a
48 COPYING-gplv3.txt is included for these reasons.