On 3/18/2016 4:40 PM, Keith Medcalf wrote:
> There is no such thing as "undefined behaviour".  The machine code does 
> exactly what it is told to do

But SQLite is not written in machine code. It is (largely) written in C. 
And C language most certainly has the concept of undefined behavior - 
roughly, a language construct or situation for which a C compiler is not 
obliged to produce any particular machine code; or in other words, can 
produce machine code that does anything at all. See also:

https://en.wikipedia.org/wiki/Undefined_behavior
http://catb.org/jargon/html/N/nasal-demons.html

> Things will only be non-deterministic and perhaps undefined when run on 
> Quantum Computers using Heisenberg registers for intermediate results.

There's plenty of non-deterministic behavior on regular von Neumann 
machines with more than one core. See e.g. 
https://en.wikipedia.org/wiki/Race_condition . In any case, "undefined 
behavior" is not at all the same thing as "non-deterministic behavior". 
A conforming C (or C++) program does not (by definition of "conforming") 
exhibit undefined behavior, but may very well be non-deterministic.
-- 
Igor Tandetnik

Reply via email to