Hacker News new | ask | show | jobs
by Cyph0n 3806 days ago
Why not embed a Lua interpreter? Or maybe a Wren [1] interpreter for something different? I don't understand why they developed a language and VM from scratch. And I thought I over-engineered my projects. The time spent developing and maintaining that could be directed to something more directly related to your product.

[1]: http://munificent.github.io/wren/

2 comments

Well...

Wren: "Wren is small. The VM implementation is under 4,000 semicolons." MIT Licensed.

Creo: "Gravity has no dependencies and the VM implementation is under 4000 lines of C99 code." Closed source, but: "We <3 Open Source and we'll soon release Gravity as source code into our GitHub account." They'd be allowed to take Wren closed source and then modify it.

Of course, this is pure speculation, the VMs could be completely different for all I know.

Looks like it was written from scratch [1] -

Quote: "I generally don’t like to reinvent the wheel so I tried to look at the currently available open source languages in search for a valid candidate. Some languages had a very nice virtual machine implementation but on top of a crappy syntax, some other languages had a good syntax but without an efficient virtual machine… some others were so huge and intricate that I refused to be involved in such a mess.

Requirements were clear… a thin and very efficient virtual machine with no more that 5000/6000 lines of code. I wasn’t able to find anything that could completely satisfy our needs so this time I decided to reinvent the wheel and project Gravity started."

[1] http://marcobambini.com/writing-a-programming-language-and-a...

Interesting observation. In that case, it would be a smart move.
Lock in. When you have a soup to nuts solution, you don't want people subbing in a different kind of nuts.