Thanks for the pointer to Urlang, I did not know about it. Sadly, it's not quite what I was looking for. I appreactiate the examples, though. The VM approach could be an interesting path to take. I'll look into it and try to find a way to do so. Otherwise, I'll probably try to use CALM and see how far I can take the Canvas. :D