Concurrency with ChanL

Stephen Goss over at the zero bit stream has a great post on concurrency in Common Lisp using ChanL. ChanL is a Common Lisp library that implements the Newsqueak concurrency paradigm. Newsqueak was developed by Rob Pike and is described in this Google talk and a series of papers including Bell Labs Computing Science Technical Report No. 143. These, in turn, were inspired by C.A.R. Hoare’s Communicating Sequential Processes.

I first watched Pike’s talk a couple of years ago and was so impressed that I downloaded the papers and source code for the Newsqueak interpreter. In the end, I never did much with it because it meant learning another language with limited application to the sorts of problems I was working on. ChanL is a win for me because it leverages a language I already know. Best of all, it’s available through Quicklisp so installation is trivial.

Goss gives a simple example of ChanL’s use in his post. He builds a quick application that downloads a list of 4 Web pages in the same time that it takes to download one. Pike’s talk gives several more examples of using the CSP paradigm to solve a variety of problems. The talk, like all of Pike’s offering, is excellent and well worth your time. If you haven’t seen it, I recommend you spend an hour on it even if your aren’t a Lisper or interested in CSP.

Update:

give → gives

This entry was posted in Programming and tagged . Bookmark the permalink.