Thursday, May 18, 2006

The unveiling of Noodle

My friend Paul introduced Noodle at the Utah python user group a week ago. (Yeah, sorry about the not-exactly-breaking-news.) Paul's a Lisp expert -- I think from before he was a Python expert, but I'm actually not sure of the chronology there -- and he wrote Noodle to create a pythonic Lisp dialect. Noodle combines Lisp syntax and features like macros with Python-ish syntax for lists, dicts, and tuples, and compiles to Python bytecode so it can easily leverage all the Python libraries.

This bears repeating: there are a lot of projects out there that try to produce Java bytecode or CIL, but Noodle is the first I've heard of that produces Python bytecode. Pretty cool, if you ask me.

His slides are linked from his blog, but basically his conclusion so far is that it turns out to be harder to integrate python-style syntax into Lisp than he'd hoped. Not hard as in implementation, but hard as in making it non-clunky to use. The warts are small small individually but large enough in the aggregate that Paul says he prefers Python (or CL) currently, but reserves the right to change his mind as Noodle improves.

2 comments:

Anonymous said...

Noodle sounds interesting but it's not the first Python Bytecode generator. One that adds Macro's to a python-like language generating Python Bytecode is Logix (seems dead but still interesting) : http://livelogix.net/logix/

paul cannon said...

Paul is far from a Lisp expert. Paul just likes Lisp.