2011-07-10 00:38 +0000
So I have looked at all browser hosted Lisp systems I could find and evaluated them with regards to the following criteria:
What Lisp dialect is it modeled after or is it a custom one? Note that I interpret dialects very broadly here, i.e. I consider systems that use defun, defvar, setq and defmacro as dialects of Common Lisp whereas systems that use define, set! and define-syntax as dialects of Scheme.
What software packages are needed in order to build programs? This only applies to compilers.
Are any additional libraries required at runtime? If so, how big are they? This is important to know because it influences loading times of websites. Note that I measured runtime dependency sizes as they are distributed by the upstream project, i.e. they may or may not have been minified so be sure to check that if it matters for you.
Does the implementation provide a compiler?
Does it provide an interpreter? Note that I also count self-hosting compilers as interpreters in case they can be used at runtime.
Does it implement Tail Call Optimization?
Does it implement first class continuations?
Does it provide a macro system?
Does it provide a hygienic macro system?
Is it (sensibly) possible to use existing browser based debuggers (e.g. Firebug) or are there custom debugging facilities?
What is the last year development activity has occurred in?
What's the code's license?
I have created a tabular view of the result. It probably contains many errors still and I'm sure I didn't find all implementations out there. If you know of one that you'd like to see in this survey or would like to correct something feel free to modify the source data which is kept in an SXML document over at gitorious and notify me.
- Yes, ECMAScript.