background preloader

LISP

Facebook Twitter

Practical Common Lisp. This page, and the pages it links to, contain text of the Common Lisp book Practical Common Lisp published by Apress These pages now contain the final text as it appears in the book.

Practical Common Lisp

If you find errors in these pages, please send email to book@gigamonkeys.com. These pages will remain online in perpetuity—I hope they will serve as a useful introduction to Common Lisp for folks who are curious about Lisp but maybe not yet curious enough to shell out big bucks for a dead-tree book and a good Common Lisp tutorial for folks who want to get down to real coding right away. However, don't let that stop you from buying the printed version available from Apress at your favorite local or online bookseller. For the complete bookstore browsing experience, you can read the letter to the reader that appears on the back cover of the treeware edition of the book.

Amazon | Powells | Barnes & Noble Download source code: tar.gz | zip Like what you've read? Reflection-Based S-Expression Parser. I’m really quite proud of this little reflection-based S-expression parser that I wrote for our GPCE Mint tutorial.

Reflection-Based S-Expression Parser

We wanted to have a parser so we don’t have to construct our ASTs using Java code. The problem was that we’ll probably have ten different mini-languages, and we didn’t want to write a parser for each language. Reflection was the answer, of course. For this parser to work, you need to define the base class of the class hierarchy (e.g. Exp) and the subclasses as static nested classes inside the same outer class (e.g. all inside UnstagedLint).

You then simply specify the base class, and the parser will search for the subclasses. When encountering an S-expression, the parser will try all of the constructors of the corresponding class. These subparsers work the same way the main parser works. This creates a parser for expressions of class DataTypes.Exp, and it registers a subparser for expressions of class DataTypes.Value. It’s really quite elegant. .net - Parsing Lisp S-Expressions with known schema in C# Sfsexp home page. Ajlisp - AjLisp Interpreter. AjCoreLisp and MinimaLisp, a minimal Lisp interpreter implementation « Angel “Java” Lopez on Blog. AjCoreLisp and MinimaLisp, a minimal Lisp interpreter implementation As I mentioned in: AjLisp family: Implementing Lisp Interpreters in C# I was working written two Lisp interpreters: AjLisp and AjSharpure (a clojure-like interpreter).

AjCoreLisp and MinimaLisp, a minimal Lisp interpreter implementation « Angel “Java” Lopez on Blog

But I wanted to explore what is the core of the language, the minimal part that should be implemented, in order to have a Lisp interpreter. Then, I wrote AjCoreLisp. It is implemented in C#. Has five projects: AjCoreLisp: core class library, implementing the language base, but without parser and lexer, only execution runtime. AjCoreLisp.Tests: as usual, I developed the library using TDD approach.

MinimaLisp: A proof-of-concept lexer, parser, and minimal machine, to show how to use the core library to build a minimal Lisp interpreter. Index. Common Lisp the Language, 2nd Edition Next: About this document Up: Common Lisp the Language Previous: References Index This index, which was compiled by Tom Bylander <bylander@ringer.cs.utsa.edu>, replaces the original minimal index compiled from the latex sources.

Index

We will eventually replace this page with a form-based GLIMPSE index. Winston Lisp Examples. Emacs-lisp-ide.pdf (application/pdf Object) The Common Lisp Cookbook - Setting up an IDE with Emacs on Windows or Mac OS X. Emacs is the preferred Lisp source code editor for most CL developers; however, it is not easy for an Emacs neophyte to get an Emacs environment set up and configured properly for Lisp development.

The Common Lisp Cookbook - Setting up an IDE with Emacs on Windows or Mac OS X

The problem is compounded if the development platform is Microsoft Windows since Unix (and variants) is the more common platform used by experienced Lisp developers. In order to help a Lisp beginner set up an Emacs Common Lisp development environment on a Microsoft Windows PC, this chapter will lay out step-by-step instructions for installing all the necessary components for each of the most popular Common Lisp implementations on Windows: Allegro Common Lisp (ACL): Franz's own "ELI" will be used in Emacs.

CLISP: ILISP and Emacs Inferior Lisp Mode will be two alternative environments that can be used with CLISP. CLISP Common Lisp Resources. ANSI CL spec [Kent Pitman, X3J13 editor] HTML: TeX/DVI: PostScript: MOP (Meta-Object Protocol) CLtL2 in HTML [Mark Kantrowitz] Building a Windows version of CLISP using MinGW [Frank Buss] CLISP programming - by a newbie, for newbies [Mark Carter] Advanced Use of Lisp's FORMAT Function [Gene Michael Stover] Lisp logos Lisp: Good News, Bad News, How to Win Big [Richard P.

CLISP Common Lisp Resources