Hacker News new | ask | show | jobs
by latenightcoding 1522 days ago
the code is very cryptic: for example the go source: https://github.com/udem-dlteam/ribbit/blob/main/src/host/go/...

the C one has better comments, I imagine that's the reference implementation? https://github.com/udem-dlteam/ribbit/blob/main/src/host/c/r...

1 comments

The go implementation of the RVM is not yet finished. I would say the reference implementations are the JavaScript, Python and Scheme ones. They were written in that order and build up on various ways of expressing things compactly. Originally there was no minification step so the code was written with short identifiers and few comments (the size of the source code is the metric for the "footprint" of the system and comments count). To understand the code it helps to read the following paper that explains the Ribbit VM: http://www.iro.umontreal.ca/~feeley/papers/YvonFeeleyVMIL21.... .