Sunday, April 15, 2007

Rest In Peace: RefLisp, Lispin

After decades of hacking my C++ Lisp interpreter I just got sick of the state of the code. I don't like most of the code any more. I had some advice from Jon Eaves (http://www.eaves.org), who said "Are you a typist or a programmer?". Hmmm. The value of the work is actually in my head, not the code. His advice - walk away - rewrite it since you will write it much better the next time.

Soooo I have started rewriting it in Java. After three days in, I have got it to this state:

JLispin > ((lambda (x) x) (cons (quote Hello) "World"))
(Hello . "World")

Woohooo !

I'm using SICP as a guide for implementation.

Why Java, I hear you ask? Lots of reasons. The other main candidate was Mono/C#. Java has Eclipse whereas Monodevelop is not more than a text editor. (No debugger). I'm dependant on the Eclipse refactoring tools nowadays. Only Vi$ual $tudio has refactoring tools for C# ;-(. Mono will also compile Java, so Java wins. JLispin will also come in handy in my Java day job.

Let me know if you're interested in dabbling in the project.