Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Common Lisp Shell Emacs Lisp
Lispbox is a version of Lisp in a Box, which was originally created by Matthew Danish and Mikel Evins, customized for use with Practical Common Lisp. The purpose of Lispbox (and Lisp in a Box) is to get you up and running in a good Lisp environment as quickly as possible. When you start Lispbox it launches the text editor Emacs with SLIME (the Superior Lisp Interaction Mode for Emacs) already installed and starts Common Lisp for you. Lisp in a Box is designed to not interfere with your existing Emacs installation, if you have one. If you are already an Emacs user, you may wish to install the no-Emacs version designed to work with an existing Emacs installation. For more about what Lispbox is, read on; otherwise hop over to the download page and start downloading. What Lispbox gives you A full Lispbox distribtion contains: * Emacs, the powerful, customizable text editor * A Common Lisp implementation of your choosing * SLIME, the Superior Lisp Integration Mode for Emacs * ASDF, Another System Definition Facility, used to load Common Lisp libraries. * The practical code from Practical Common Lisp ready to be loaded using ASDF. * A bit of glue code to make it all a bit easier to use. When you run the Lispbox application it will start Emacs and start Common Lisp in SLIME and you're ready to start hacking. You can use ASDF to load the various libraries and applications from Practical Common Lisp. Lispbox special features The environment provided by Lispbox has a few special features beyond what you'd get from combining Emacs, SLIME, ASDF, and a Common Lisp implementation. These features are designed to make it easier to use, particularly for new Lispers. * The package CL-USER is "cleaned" of any implementation-dependent packages. This makes it easier to follow along the code in the book (particularly in the early chapters before I've introduced packages) without running into name conflicts with names exported from implementaton-defined packages that might otherwise be inherited by CL-USER. This does have the consequence that certain implementation-specific extensions are not automatically available. But they can easily be added back once you know about Common Lisp's package system. * Lispbox includes some extensions to ASDF that modify how it finds ASD files and where it stores the files generated by COMPILE-FILE. The former makes it slightly easier to install new Common Lisp libraries and, more important, provides a mechanism that works the same on OS X, GNU/Linux, and Windows. The latter makes it easier to experiment with different Lisp implementations since it causes the files generated by COMPILE-FILE to be placed in an implementation/operating system/architecture dependent directory.