What's 8sync?

8sync (pronounced "eight-sync") is an asynchronous programming library for GNU Guile. It makes use of delimited continuations to avoid a mess of callbacks resulting in clean, easy to read non-blocking code.

(define (site-user-view request db-conn) "Display a list of all users registered on this site" (htmlize-response (list-users-template #:request request ;; Wrapping in 8sync "suspends" this function, running ;; fetch-active-users asynchronously, and "wakes up" the function ;; when ready, seamlessly passing back its result. #:users (8sync (fetch-active-users db-conn)))