This is cool, especially the coroutines. BTW the predecessor to Lua was called "Sol" -- moon and sun in Spanish/Portuguese. (It was described in one of the Lua papers, but Google for "lua language predecessor sol")
Sol — a sunny little homemade virtual machine
21–30 of 56 posts
Re: Sol — a sunny little homemade virtual machine
#22Re: Sol — a sunny little homemade virtual machine
#23Serious (non-snarky) question: are projects like this no longer standard fare for undergraduate CS majors? This example is rather comprehensive and well-documented, but is almost spot on what all 50-75 of us had to do for a Junior-level class at Georgia Tech back in 2003 or so.
Re: Sol — a sunny little homemade virtual machine
#24Somewhat offtopic - I really liked the digitized whiteboard looking drawings. Is that off a tablet, or a photographed whiteboard?
Re: Sol — a sunny little homemade virtual machine
#25This warms my heart; It's wonderful to see people doing crazy stuff like this for fun.
I wouldn't call the concept itself too far-fetched. As a learning or teaching exercise, though, building virtual machines, languages, JIT compilers and the like is very interesting. I'm assuming that "Sol" is a play on "Lua", because both virtual machines seem similar.
Re: Sol — a sunny little homemade virtual machine
#26This is like Minix, but for VM ! :)
Re: Sol — a sunny little homemade virtual machine
#27Somewhat offtopic - I really liked the digitized whiteboard looking drawings. Is that off a tablet, or a photographed whiteboard?
Re: Sol — a sunny little homemade virtual machine
#28Re: Sol — a sunny little homemade virtual machine
#29Serious (non-snarky) question: are projects like this no longer standard fare for undergraduate CS majors? This example is rather comprehensive and well-documented, but is almost spot on what all 50-75 of us had to do for a Junior-level class at Georgia Tech back in 2003 or so.
The new Threads curriculum doesn't (or didn't when I last paid attention to it) require anything nearly this complicated. I have a friend who graduated under Threads without having taken CS2200 (Systems and Networks) or ECE2030 (Intro ECE). He's a talented computer scientist, but he's had to learn a lot of the bits of systems that are relevant to his day-to-day work on his own.
That said, I feel like this goes beyond anything that was ever strictly "required". The most complicated VM or language related work I had that was in a core class was Olin Shivers's[0] CS3240 (Languages and Computation). That concluded with us building a basic Scheme interpreter in Java. The other work I did on the subject was in specialization or elective classes (or grad school).
[0]: To folks who might happen to be at Northeastern, do take any class you can with Olin. He is a fantastic professor, and I can't recommend his classes enough. Favorite class I took at tech, hands down.
Re: Sol — a sunny little homemade virtual machine
#30I think it's also worth linking to David Beazley's Curious Course on Coroutines and Concurrency [1]. It's exploring the ideas of a task scheduler implemented in Python. This article reminded me of it. It's not a full VM, but about half way into the PDF he goes into quite some detail on how to build a task scheduler modelled after an OS and how it works in an actual OS. Give it a read. [1] http://www.dabeaz.com/corout…