Extensions to Common Lisp for concurrent computation on multiprocessors are discussed. Functions for process creation, communication, and synchronization are described. Process objects create multiple threads of control. Processes are lightweight so that programmers can use them to take advantage of fine-grained parallelism. Communication and synchronization are managed with mailboxes. Signals allow processes to communicate using asynchronous interrupts. These constructs are used to implement several higher-level multiprocessing abstractions. These include structured processes, a parallel tree search, and dataflow computation