-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Chris Vine edited this page Dec 4, 2019
·
5 revisions
This is the guile-a-sync3 library. It provides both an asynchronous event loop for guile-3.0, and coroutines to enable an event loop (including other event loops such as the glib event loop) to be used with 'await' semantics to deal with inversion of control - otherwise known as "callback hell". It also makes provision for guile-3.0's suspendable ports.
The guile-a-sync2 library is provided in seven modules:
- (a-sync coroutines) - provides coroutines for await semantics on asynchronous events
- (a-sync event-loop) - provides an event loop for asynchronous events
- (a-sync await-ports) - provides procedures for suspendable ports
- (a-sync thread-pool) - provides a thread pool with asychonous procedures
- (a-sync monotonic-time) - enables monotonic time to be used for timeouts
- (a-sync gnome-glib) - provides some convenience await procedures for the glib main loop
- (a-sync compose) - provides the compose-a-sync macro interface for a-sync coroutines
- (a-sync meeting) - provides for synchronization between a-sync or compose-a-sync blocks
For an overview of the operation of this library, see the general overview
Modules:
- (a-sync coroutines)
- (a-sync event-loop)
- (a-sync await-ports)
- (a-sync thread-pool)
- (a-sync monotonic-time)
- (a-sync gnome-glib)
- (a-sync compose)
- (a-sync meeting)
- (a-sync g-golf)
- (a-sync guile-gi)
Other: