2 ms·
Snigl [0] traces the code before running it; simulating stack contents and inferring generic calls based on that information as far as possible, among other thi
by sifoobar 8y ago
Snigl [0] traces the code before running it; simulating stack contents and inferring generic calls based on that information as far as possible, among other things.
It's not perfect, but it's the only way I've found that makes sense in combination with Forth-like stack semantics where function parameters are never specified explicitly. And that runs fast enough to make sense in an interpreted language. I also like that it's implemented as a transformation on VM code, which makes it flexible and easy to debug.
[0] https://gitlab.com/sifoo/snigl#tracing https://gitlab.com/sifoo/snigl#tracing