Promises in Common Lisp
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
README.md
packages.lisp
pcl.lisp
promise.lisp
promises.asd
runloop.lisp
test.lisp
test1.lisp
test2.lisp
test3.lisp

README.md

Promises in Common Lisp

Companion source code for the post Promises and Lisp. Contains a not-meant-for-production implementation of promises in promise.lisp and promises based CL counterparts in pcl.lisp.

Install using quicklisp by symlinking the project directory inside ~/quicklisp/local-projects/ and then run (ql:quickload :promises).

Runloop facilities are provided by iolib.

Contains no networking code, all async calls (e.g. get-tweets-for, http-get, etc.) are stubbed using runloop timers.

test[123].lisp contain some example source code to run.

You can run the test code like this:

(in-package :promises-test3)
(run-function (make-instance 'runloop) 7 #'run "foo")