This Lisp Interpreter is from Java-SIG


Interactive LISP Interpreter Applet

The Language: In lieu of a reference manual for this lisp, see this Summary and this extensive set of commented Examples intended to illustrate every feature of the language. They should both be understandable to anyone who knows a conventional lisp, and they spell out the differences between a conventional lisp and this lisp. For an explanation of the design philosophy, see talk transcript ``How to run algorithmic information theory on a computer''.

Primitive Functions & Atoms with Special Meanings: nil true false ' = atom car cdr cadr caddr cons if display lambda let define + - * ^<><=>= base2-to-10 base10-to-2 eval try no-time-limit success failure out-of-time out-of-data read-bit read-exp append bits size length debug


To use this applet you must get a Java-enabled Web browser!


Operating Instructions: To enter an M-expression, first click on ``Reset'' to clear everything. Then click on the first text area, which will make its cursor blink. Then type the M-expression. Finally click on ``Run'' to convert the M-expression to an S-expression and run it.

Try entering ``cons x cons y cons z nil'' this way. You should get the value ``(x y z)''.

If you want to change the last expression that you evaluated, don't reset everything.

The three pairs of ``Save'' and ``Restore'' buttons are for saving and restoring M-expressions that are being tested, so that they don't have to be re-entered each time.

Additional Instructions: To define X to be V, enter ``define X V'' and then run it.

The debug primitive function initially displays its argument. To turn this off, click on ``Debug''. To turn it back on, click on ``Debug'' again.

Stdout: To send all output to stdout in addition to displaying it above, click on ``Stdout''. To stop this, click on ``Stdout'' again.


[ IBM Research home page ]

[ IBM home page | Order | Search | Contact IBM | Help | (C) | (TM) ]


Return to Curt's Java Joint