I came across a link to this post (see in particular the response by Tom Duff) over at Brainwagon about using Duff's device (as if Duff's device isn't revolting enough to start with) to implement Coroutines in C.
Eughh.... Though it is kind of cute... No... Please let me resist the urge to actually USE this...
Update: And while you're at it, take a look at this 'threads' package as well. I haven't looked enough at it yet to tell if the implementation is as revolting as the stuff above.