The Transterpreter Project

Concurrency, everywhere.

Transterpreter Summer '09 - Day 15 - Initial hacking

Adam has now arrived and after we all had a chance to sleep in for a bit, we went to the office. Initial discussion mostly centred around ways in which we could do the port of occam to the Arduino platform. While we were probably all expecting to use the Transterpreter (the virtual machine for occam), we still discussed the merits of using a native solution where we might generate code. We dismissed this quickly as future work however, not least as we are looking to have a reasonably polished product finished at the end of three weeks when Adam goes back to the UK. And when we say finished product we don't just mean a bunch of commits in the repository, but a download link, documentation, and other infrastructure which actually lets other people use our work(!).


After the initial discussions in the conference room we moved into the coding plex (the lecture hall) which has a projector which serves nicely as our coding screen. The day then mostly proceeded with some infrastructure work, such as setting up our development environment and compiling libtvm for the AVR. The libtvm compile was fortunately easy (requiring only a Makefile fix) and enabled us to link an Arduino sketch with our code to get a rough estimate of the size of the virtual machine (commit 5860):

  • ~12KB - Without occam-pi features
  • ~24KB - With occam-pi features

Working hard