Skip to content

gitGNU/gnu_8sync

Repository files navigation

8sync: an asynchronous programming library for Guile
====================================================

GNU 8sync (pronounced "eight-sync") is an asynchronous programming
library for [GNU Guile](https://www.gnu.org/software/guile/).

Be warned: it is early days for the 8sync project.  New contributors
and users are more than welcome, but beware API instability.

Some features:
 - An asynchronous event loop!  Non-blocking on ports and file access.
 - Easy to use!  The =8sync= operator lets you write
   asynchronous code that looks simple while avoiding callback hell.
   This happens through the magic of
   [delimited continuations](https://www.gnu.org/software/guile/manual/html_node/Prompts.html).
   ([Hence the %](https://www.gnu.org/software/guile/manual/html_node/Shift-and-Reset.html#Shift-and-Reset)!)
 - Provides building blocks on which you can build other asynchronous
   frameworks or paradigms on top of it (some of which will be
   included in the future), like:
   - an actor model implementation
   - the propagator model
   - web frameworks
   - your very heart's desire!

See INSTALL for install instructions.  It's the usual GNU process!


How do I use it?
----------------

For now, read the source ;)

Hey, I ought to get some docs up, right?  Soon, I promise!


License
-------

Everything in here is LGPL v3 or later, as published by the Free
Software Foundation (see COPYING), with exceptions below:

 - Some autotools related files are under the GPL v3 or later in the
   toplevel directory (their headers will say).  I guess if you
   compile things using them, maybe this project becomes GPL v3 or
   later?  I don't think so because the build tools themselves aren't
   linked, but I can't be sure.  If you really care, consider this
   whole project GPL v3 or later optionally... anyway a
   COPYING-gplv3.txt is included for these reasons.

About

No description, website, or topics provided.

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING
GPL-3.0
COPYING-gplv3.txt

Stars

Watchers

Forks

Packages

No packages published

Languages