• Stars
    star
    259
  • Rank 153,068 (Top 4 %)
  • Language
    Common Lisp
  • License
    MIT License
  • Created over 11 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Asynchronous IO library for Common Lisp.

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!

More Repositories

1

wookie

Asynchronous HTTP server in common lisp
Common Lisp
186
star
2

blackbird

Common Lisp promise implementation (successor to cl-async-future)
Common Lisp
76
star
3

highlight-lisp

A Common Lisp syntax highlighter written in Javascript
JavaScript
75
star
4

check_elasticsearch

Nagios script for checking elasticsearch sluter status
Shell
67
star
5

hustle

A javascript queuing/messaging library persisted over IndexedDB
JavaScript
52
star
6

cl-rethinkdb

RethinkDB driver for Common Lisp
Common Lisp
47
star
7

markdown.cl

Markdown for Common Lisp
Common Lisp
42
star
8

carrier

A lightweight, async HTTP client
Common Lisp
37
star
9

drakma-async

An asynchronous version of drakma that runs off of cl-async
Common Lisp
36
star
10

cl-libuv

Libuv CL bindings
Common Lisp
32
star
11

ghostie

A platformer/2D game engine in CL
Common Lisp
29
star
12

cl-hash-util

A small hash utility library for Common Lisp
Common Lisp
27
star
13

vom

A tiny logging library for Common Lisp
Common Lisp
22
star
14

http-parse

An HTTP protocol parser in Common Lisp
Common Lisp
21
star
15

cl-sodium

A wrapper around libsodium, providing easy, correct, safe crypto for common lisp.
Common Lisp
20
star
16

event-glue

A compact, extendable eventing fabric.
Common Lisp
20
star
17

cl-libevent2

Low level Common Lisp bindings for Libevent2
Common Lisp
19
star
18

cl-nanomsg

CL nanomsg bindings
Common Lisp
12
star
19

runcl

A shell script that provides a common interface for running lisp via the command line
Shell
11
star
20

cl-async-future

A standalone futures implementation for Common Lisp.
Common Lisp
11
star
21

cl-svg-polygon

Common Lisp library for converting SVG files into lists of points.
Common Lisp
9
star
22

wookie-doc

Documentation and demo site for Wookie
CSS
9
star
23

void.vim

A dark, earthy color scheme for Vim
Vim Script
8
star
24

simple-search

An in-memory full-text search system.
Common Lisp
8
star
25

pretend-event-loop

A package that mimics a non-blocking event loop by using queues and threading. Allows an application to implement non-blocking operations without converting all the libraries to be non-blocking.
Common Lisp
7
star
26

cl-mongo-id

MongoDB ObjectId generator/parser for Common Lisp
Common Lisp
6
star
27

ansible-slapt-get

Ansible package library for slapt-get (for multi-source package installations on Slack via Ansible)
6
star
28

sqlite-obj

Simple document store database layered over SQLite
Common Lisp
4
star
29

glu-tessellate

A simple triangulation engine that wraps around GLU's tessellation system.
Common Lisp
4
star
30

cl-signal-handler

A unix signal handler library for Common Lisp
Common Lisp
4
star
31

fern

Concurrency framework for Common Lisp (a bit like Erlang's mentally retarded cousin)
Common Lisp
4
star
32

cl-nneat

Adaptation of the Neuro-Evolution of Augmented Topologies algorithm, in Common Lisp
Common Lisp
4
star
33

git-debug-hook

A pre-commit hook for git that checks for the presence of DEBUG comments
Shell
3
star
34

gol

Simple game of life in common lisp (SDL, OpenGL)
Common Lisp
3
star
35

beanstalk-async

Asynchronous beanstalkd driver for Common Lisp. Runs off of cl-async.
Common Lisp
3
star
36

som

Self-organizing map demo in Common Lisp, OpenGL, and SDL
Common Lisp
3
star
37

nneat

Neuro-Evolution of Augmented Topologies implemented with bugs who eat food.
C++
2
star
38

redis-client

A Redis client for Common Lisp
Common Lisp
2
star
39

libcl

Standard library package separation for symbols in Common Lisp
Common Lisp
2
star
40

dotfiles

my stupid vim settings that nobody cares about
Vim Script
2
star
41

rc.app

An init.d / rc.d startup script template that handles PID creation, permissions dropping, logging, and killing children. It also has the ability to kill child processes.
Shell
2
star
42

cl-ode

Common lisp bindings for ODE
Common Lisp
2
star
43

guitool

A tool (in lisp) for modifying console/GUI bits executable files
Common Lisp
1
star
44

sqeleton

A redis-side work queue written in Lua modeled after beanstalkd
Lua
1
star
45

chipmunk-wrapper

A set of common lisp classes around the clipmunk bindings.
Common Lisp
1
star