Hacker News new | past | comments | ask | show | jobs | submit login

Impressively small and trade-offs seem pretty reasonable. (namely lack of runtime parser, minimal built-ins).

Initially thought the lack of built-ins would be annoying but it looks very easy to simply "re-implement" them given how easy the C-interop is to use.

JS isn't my favourite but with such a small VM implementing what is a fundamentally a very modern scripting language I would be tempted to use it on my next embedded project.

The other seemly killer feature from my perspective is ability to snapshot the VM state to stable storage and resume on reboot rather than start from new execution context.




> Impressively small and trade-offs seem pretty reasonable. (namely lack of runtime parser, minimal built-ins).

Not really. If you remove the runtime parser, then you're effectively just a VM and there are lots of VMs significantly smaller than this.

Anytime you attempt to implement a language in a tiny amount of memory, a ridiculous chunk of it goes to implementing the parsing system. Infix parsing is particularly expensive to implement--which is why the only two languages in the extremely tiny space are Forth and Lisp.


Fair, I should have qualified my statement to "for JS".

I don't think it's reasonable to compare to Forth/Lisp (or even Lua despite similar language capabilities) because of how pervasive JS is from a runtime perspective. Especially because this implements a sufficiently good subset that you can run isomorphic code on device, backend, browser.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: