I’ve moved my AARON -style program from Prolog to Python to Lisp to Dylan, and now I’m programming it in a literate programming style using noweb. Literate programming means combining a human-readable description of the program with the code and using a program to extract the code and well-formatted documentation from this shared source. It’s like illuminated manuscripts for code, and a technique I’d like to apply more directly to image programs (such as PostScript or MetaPost code).
Hopefully the extra effort will be worth it:
• Having to describe what I’m doing is helping me to think more clearly about what I’m doing.
• This is a long term project, so the documentation will help me to start hacking on it again after any breaks.
• I can present the program publicly, unlike with AARON.