(updated )

Lisp Interpreter in JavaScript

NOTE: This page has suffered from neglect and DOM drift, unfortunately. It used to work quite well in older versions of IE, Firefox, and even Chrome, but lately it’s feeling rather poorly. I’ll be updating the interpreter soon, perhaps even rewriting it, so that it runs like new again and has a little bit better shelf life. – PMP

This is a test page for my implementation of Lisp in JavaScript. It’s still a work in progress, but most primitives are in place. See the bottom of the page for options.

I’ve gone ahead and made the interpreter case-sensitive. I know this is sacrilege and will make me unpopular, but such is the business of design trade-offs. On the upside, I now have dotimes and dolist working.

Before I add too many more features (like, &key, &optional, and &rest for functions) I’m going to do some refactoring. Portions of the code have really gotten out of hand.

Parentheses are Balanced

Evaluation results:

Welcome to Lisp!
Type some Lisp code in the window and click ‘Evaluate’ to watch it run
Hello, World!

About This Page

Type your code in the edit window above, and click the Evaluate button to evaluate it. Click Up in History or Down in History to move forward or backward through the editor history. Various options controlling the editor’s behavior are available below.

Need a quick refresher course in Lisp? Try Successful Lisp. Questions? Send me e-mail.


Print evaluation results: