Finding the package named "multiprocessing" in Common Lisp

347 views Asked by At

I am working with SBCL (SBCL 1.2.13.84-7d75f89) learning Common Lisp from this book. I have run into a problem, trying to find and load the package named multiprocessing.

(This is in Chapter 29 of the book)

I have tried doing (ql:system-apropos "multiprocessing"), (ql:system-apropos "thread"), (ql:system-apropos "smp") trying to see if there is a quicklisp package that uses it.

I have also searched using google, and even at Quickdocs but I seem to be failing somewhere.

I would be grateful for any assistance.

1

There are 1 answers

1
Rainer Joswig On BEST ANSWER

The example in the book uses the web server AllegroServe from Franz Inc. and the corresponding Allegro Common Lisp (ACL). ACL has a package named multiprocessing which provides the needed multiprocessing facilities.

The book proposes to use PortableAllegroServe for those who don't use Allegro Common Lisp. See chapter 26 in the book.

PortableAllegroServe has a package named acl-compat.mp, which provides the necessary functionality in a portable way. For example acl-compat.mp:with-process-lock, acl-compat.mp:make-process-lock, ...

You thus need to either

  • AllegroServe and Allegro Common Lisp
  • PortableAllegroServe and a Common Lisp implementation it runs in

The names of the packages will be slightly different, though.

Note that this chapter is one which might need some updating. I'm not sure how much PortableAllegroServe is used these days...