The Aardappel Programming Language

Concurrent Tree Space Transformation

The research I’ve done for my PhD (‘96 - 2000) involves designing and implementing a new language, which computes by concurrently reducing trees (using a form of tree-rewriting) which sit together in tree-spaces (bags) and communicate amongst eachother (exchanging parts of themselves, in Linda-like fashion). The language is 100% graphical and linear as well. My thesis on this topic: (pdf), and the first public version of the implementation (zip). UPDATE: now on github.

And now… some confusing pictures:

This is an actual screenshot of the beta implementation (written in Java, and compiling to JVM bytecode). Here are 2 larger, more complicated programs: a prolog interpreter and a mandelbrot renderer.

This is how I imagined it would look before I implemented it. Here are 3 more (very old) mock ups, included only for completeness sake: 1 2 3.