2013/07/28

The making of Kiezellisp

In 2006 I decided to create a computer language suitable for web programming and other things. The language should run on .NET and be better than PHP, Ruby and Python.

In 2008 I published Clearlisp on SourceForge.net. It was mainly an exercise to implement a syntactically simple language using .NET reflection. The Arc language was published at the same time.

My next exercise was to use Lex and Yacc to create a syntactically complex language called Rabbit. Rabbit was meant to be the semi-colon and braces embracing alternative to Ruby and Python, for C-lovers only. It was faster than ClearLisp because it used dynamic methods.

What happened that I did not publish it?

Javascript happened. This doesn't make sense chronologically. But I learned about the prototype object model and I liked it. I ripped out Rabbit's classical object model and replaced it with a prototype object model. The result was javascript and I did not like it.

Dynamic Language Runtime happened. Dynamic methods are not good enough anymore. Cached and jitted methods are way faster.

I went back to lisp to avoid creating a javascript look-a-like and to reduce the amount of DLR specific code needed to implement the language.