orthecreedence/cl-async

Asynchronous IO library for Common Lisp.

296

stars

115

commits

Common Lisp

primary language

Nov 4, 2024

updated

README

cl-async - Asynchronous operations for Common Lisp

Cl-async is a library for general purpose, non-blocking programming in Common Lisp. Cl-async uses libuv as the backend, which is a fast, stable, portable library for asynchronous IO (used as the backend library in Node.js).

The main goal is to provide an experience that makes general asynchronous programming in lisp natural, and to also provide a number of drivers on top of cl-async.

NOTE: cl-async uses the v1.x branch of libuv, so make sure to grab that version of it (not the v0.10.x branch).

Documentation

Please see the cl-async website for full documentation, examples, etc.

Quick links:

Install

(ql:quickload :cl-async)

Please be aware that until cl-async v0.6.x is in quicklisp, you might want to git clone the master branch into quicklisp/local-projects/.

Tests

There is a fairly complete suite of tests in the cl-async-test package:

(ql:quickload :cl-async-test)
(cl-async-test:run-tests)
(cl-async-test:run-tests :ssl t)
(cl-async-test:run-tests :threading t)

License

As always, my code is MIT licensed. Do whatever the hell you want with it. Enjoy!

Contributors

ivan4th

63 commits

rpgoldman

7 commits

Plisp

6 commits

hdasch

5 commits

orthecreedence/cl-async

Asynchronous IO library for Common Lisp.

296

stars

115

commits

Common Lisp

primary language

Nov 4, 2024

updated

README

cl-async - Asynchronous operations for Common Lisp

Cl-async is a library for general purpose, non-blocking programming in Common Lisp. Cl-async uses libuv as the backend, which is a fast, stable, portable library for asynchronous IO (used as the backend library in Node.js).

The main goal is to provide an experience that makes general asynchronous programming in lisp natural, and to also provide a number of drivers on top of cl-async.

NOTE: cl-async uses the v1.x branch of libuv, so make sure to grab that version of it (not the v0.10.x branch).

Documentation

Please see the cl-async website for full documentation, examples, etc.

Quick links:

Install

(ql:quickload :cl-async)

Please be aware that until cl-async v0.6.x is in quicklisp, you might want to git clone the master branch into quicklisp/local-projects/.

Tests

There is a fairly complete suite of tests in the cl-async-test package:

(ql:quickload :cl-async-test)
(cl-async-test:run-tests)
(cl-async-test:run-tests :ssl t)
(cl-async-test:run-tests :threading t)

License

As always, my code is MIT licensed. Do whatever the hell you want with it. Enjoy!

Contributors

ivan4th

63 commits

rpgoldman

7 commits

Plisp

6 commits

hdasch

5 commits

Languages

Common Lisp

100.0%