3 ms·
the code is very cryptic: for example the go source: https://github.com/udem-dlteam/ribbit/blob/main/src/host/go/rvm.go https://github.com/udem-dlteam/ribbit/b
by latenightcoding 4y ago
the code is very cryptic:
for example the go source:
https://github.com/udem-dlteam/ribbit/blob/main/src/host/go/rvm.go 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/rvm.c https://github.com/udem-dlteam/ribbit/blob/main/src/host/c/r...
- feeley 4y agoThe 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.pdf http://www.iro.umontreal.ca/~feeley/papers/YvonFeeleyVMIL21.... .