2 ms·
Well, having many layers does additively increase the chances of bugs, but for well-specified and tested interpreters the prevalence of interpreter bugs is pret
by firethief 8y ago
Well, having many layers does additively increase the chances of bugs, but for well-specified and tested interpreters the prevalence of interpreter bugs is pretty low. Their example is:
> Python code executed by an x86 runtime, on a CPU emulated in a JavaScript VM, running on an ARM CPU.
So in this case, we have a tower of well-defined abstractions, most of which have extant well-tested implementations. I would expect the resultant tower to be semantically correct enough of the time to be a reasonable platform to work with--i.e. if you have a bug, it's probably in your code, not the platform. Where we'd see the abstractions leaking heavily is performance analysis, unless this tower collapse is also a Sufficiently Smart Compiler.