-----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) <[EMAIL PROTECTED]> 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----- _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
