This is my first attempt to write a Virtual Machine for a new programming language that looks an awful lot like JavaScript, but cleaned up a little bit and with proper classes. Why did I start doing this? Honestly, I was just a little curious as to how one would implement closures. It seems like an interesting problem.
This is kind of a personal experiment:
I've never implemented a VM before, so please don't cringe too hard when you see this. I decided to do this all from scratch and not do any reading on common "VM implementation strategies" -- I want to do this all the hard way and make all the mistakes possible.
I also am using this an excuse to brush up on my C++ -- I haven't programmed in it on a daily basis in a few years, and wanted to learn all the cool new C++ 11 features and whatnot.