Specifically, the project goals are to:
- Implement a useful subset of CL
- Host as much development tooling as possible in the browser so that tools may organically evolve with the applications they’re used to build
A good namespace system could be built as a library, but because programs are filled with references to library functions — and because each reference would necessarily look like a field access or function call — the code would be quite noisy. Global names would also need to be installed using something like a function call.
Thus, a namespace system requires syntax support in order to be practical. The best syntax support possible, for anything, is Lisp syntax.
OK, but why Common Lisp (CL)?
In short: because it’s good enough. Despite its warts, CL is a well-specified and multi-paradigm language. Most importantly, it is a proven substrate for performing incremental development and prototyping new ideas.