I hate to be pedantic here but I see the term TCO thrown around all the time. The Scheme standard requires that unbounded tail call functions can run in constant space.<p>This is a semantic difference, not an optimization. Turning off optimizations should never cause your program to crash.
I am not sure if I understand correctly. So this is a scheme running on a scheme. You need e.g. Chicken to compile/minify it and then run it via Gambit.... Why? Why would I do, except of learning puroposes of course, do such thing. I clearly am missing something.
the code is very cryptic:
for example the go source:
<a href="https://github.com/udem-dlteam/ribbit/blob/main/src/host/go/rvm.go" rel="nofollow">https://github.com/udem-dlteam/ribbit/blob/main/src/host/go/...</a><p>the C one has better comments, I imagine that's the reference implementation?
<a href="https://github.com/udem-dlteam/ribbit/blob/main/src/host/c/rvm.c" rel="nofollow">https://github.com/udem-dlteam/ribbit/blob/main/src/host/c/r...</a>
Wow Marc! I see all your fun projects all the time and I feel sad I have so little time to play with them!<p>I will make sure to dive into the internals of this during my vacation, though.