Blitzweekend, AST Python/Scheme (0)
Note: this post is about AST Python/Scheme, and begins a series of posts about projects developed during Blitzweekend.
Can you present yourself? What is your expertise and experience?
François Pinard: François Pinard has a background in theoretical computer science and in operational research. All along, he waved through studies and teaching, system administration, computer graphics, AI, statistics and databases, computer applications of many kinds, and various languages. He his also known for his long implication in GNU, Linux, and free software matters.
Can you present the project done during Blitzweekend? Where did the idea come form?
François Pinard: The initial project was to build, using Python, a Scheme tree for representing the syntax of any given Python program, studying then using the newer “compile” module in Python. As it worked unexpectedly well, I then extended the project into a framework by which, using Scheme, I could rebuild the Python source out of the syntax tree.
What were your expectations for the event? and objectives?
My main goal was to participate to this experiment of a Blitzweekend, and enjoy it as much as I could. My secondary goal has been to refresh my old forgotten knowledge of Scheme, starting from Python which I well know, while doing something reusable. I also tried, yet without much success, raising up a mixed team from the Python and Scheme communities.
Did you have any special challenges? How did you overcome them?
A particular challenge was to tame myself into using both a laptop and Windows, as I do not often have the opportunity of those :-). It went rather well! The method cycled between careful study, making the proper choices, and throwing correct code right on the first writing if possible, even if this meant resisting the pressure and slowing down :-)
Are you going to continue working on the project? Any plans?
I want to complete the framework to the 74 syntactic tree types, and then address the difficult problem of beautification of the generated sources. I’ll get a mixed Python/Scheme powerful pretty printer for Python sources. Then, I intend to extend the tool for exploring the generation of other languages, as a way of studying and deepening them.










