A fun experiment in implementing a CPU/assembler/language stack in Scala