What should be added to C
aglew at ccvaxa.UUCP
aglew at ccvaxa.UUCP
Fri May 23 00:39:00 AEST 1986
>/* Written 8:04 pm May 16, 1986 by franka at mmintl.UUCP in ccvaxa:net.lang.c */
>/* ---------- "Re: What should be added to C" ---------- */
>Something which got forgotten in my original article: I would favor an
>exchange operator. This one is quite frequently useful, and the
>alternatives are ugly.
>
>Frank Adams ihnp4!philabs!pwa-b!mmintl!franka
>Multimate International 52 Oakland Ave North E. Hartford, CT 06108
>/* End of text from ccvaxa:net.lang.c */
Why not go all the way and implement Dijkstra's concurrent assignment?
i,j := j,i
for a swap. Course, couldn't use commas, but you get the idea.
Compilers can generate good code for this, and it makes programs with
complicated pointer manipulations much clearer; I used to teach it, and the
associated code generation algorithm, to U1s in classes I TAed, and it
greatly reduced the noise level of assignments in the wrong order.
#define swap(a,b) a,b := b,a
does the exchange without having to type the name twice.
Andy "Krazy" Glew. Gould CSD-Urbana. USEnet: ihnp4!uiucdcs!ccvaxa!aglew
1101 E. University, Urbana, IL 61801 ARPAnet: aglew at gswd-vms
More information about the Comp.lang.c
mailing list