-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Richard, On Tuesday 19 February 2002 06:57, Richard Uhtenwoldt wrote:
This is a weak argument.
First of all it is not the case that imperative coders always specify a total ordering: multitasking, threading and interrupts (and their projections into software as in Unix signals and asynchronous exceptions) are ways of specifying partial ordering when a total ordering would lose.
Note that modern cpu designs use "out-of-order" execution strategies; so on micro-second timescales they ignore the total ordering when doing so suits them and when it preserves semantics.
I might add to the above points the obvious. Imperative programming languages in general do _not_ specify a total ordering. Each statement _can_ have a side effect[*] and the compiler is free to rearrange code such that it runs faster and preserves semantics. As written in any compiler textbook from 1970's. Sincerely, [*] The compiler will know when this is possible, and when the statement is free of side effects. You can specify that no side effects occur in C++ for instance. And the compilers also know that certain expressions are always free of side effects, etc. - -- Eray Ozkural (exa) <erayo@cs.bilkent.edu.tr> Comp. Sci. Dept., Bilkent University, Ankara www: http://www.cs.bilkent.edu.tr/~erayo GPG public key fingerprint: 360C 852F 88B0 A745 F31B EA0F 7C07 AE16 874D 539C -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE8cmZSfAeuFodNU5wRAsG4AJ9ZXV6jVfbIRrRTCzl8YhO/AK1a7QCePCE3 /ST0chxaZYNobn2f32N94sw= =3dOx -----END PGP SIGNATURE-----