On Monday, September 10, 2018 05:49:01 AM Reco wrote: > It's the usual. A compatibility wrapper can never exceed the original.
Hmm, I don't see why it couldn't in some sense -- I'm trying to think of how to say what I want to say, let me try a made-up example. Suppose some piece of software is running (or trying to run) on a piece of hardware where some function does not work because the software was written to depend on a certain set of (let's say machine) instructions which don't exist on that particular machine. But, on a Turing complete machine, I'd expect other instructions to exist which, perhaps by substituting a long series of such other instructions, the missing machine instructions could be emulated. As a(n almost) real world example, at least once (and I'm pretty sure more than once) Intel built a chip that had some hardware errors (I'm remembering what I think is the first one, maybe as many as 20 years ago) when the floating point operations gave incorrect results for at least some inputs. Intel created a fix (a compatibility layer, in my choice of words) that fixed the problem. If the problem is that Firefox can't produce sound in some or all circumstances because it doesn't support ALSA, yet ALSA is the sound system running on the machine, a compatibility layer could be created that (without getting the details correct) translated the sound instructions that Firefox issues into ALSA instructions. Hmm, did I react too much to that simple statement -- maybe, I just think it is an un-necessarily limiting statement to "our" thinking.