Live data from Hacker News

Sol — a sunny little homemade virtual machine

rsms.me

21–30 of 56 posts

Re: Sol — a sunny little homemade virtual machine

#21
post #20

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")

I didn't know that! Ha, ha.

Re: Sol — a sunny little homemade virtual machine

#23
post #12

Serious (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.

(Not taken as snarky) I would believe so. I never went to school, but started working when I was in 8th grade. Didn't even learn algebra or any advanced math beyond multiplication, which I have since regret at several occasions. I'm surrounded by amazingly talented computer scientists all day long and we thrive on each others' knowledge. For instance, a mathematician friend of mine once gave me the book "Fermat's Last Theorem" (ISBN 1841157910) which sparked an interest in math, and more so the function that the language of math plays in logic. I would only assume something like this Sol project of mine would be a very good fit in any CS education.

Re: Sol — a sunny little homemade virtual machine

#25
post #4

This 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.

A play at Lua: Definitely so. As mentioned and referenced in the article, Lua has been a major source of inspiration. As "lua" means "moon" in Portugese, it was only suiting to name "Sol" "sol" for "sun" in Swedish (my native tongue). However, as @chubot informed me (in a comment here on HN), Lua was once called "sol", or at least "sol" was considered for the name.

Re: Sol — a sunny little homemade virtual machine

#28
I 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/coroutines/

Re: Sol — a sunny little homemade virtual machine

#29
post #12

Serious (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.

Interesting that you mentioned Georgia Tech (BS '06, MS '09), as I was thinking that it's disappointing that no systems or compilers classes are required anymore.

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

#30

I 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…

I will definitely read this. Thanks.
Post reply on HN