At 7:27 AM +0900 8/7/03, Ben Giddings wrote: >I have been interested in these continuation-thingys for a while now, so now >that the subject came up, I decided to take a good look. > >I now think I understand how they work, and when they might be used, but that >still leaves a few questions: > >1) Why do they have the strange syntax they have They don't--there's no inherent strange syntax to them. The syntax comes from the language implementing the continuation semantics. >2) Why don't they have more "meat" to them? Because there's not much to them. Really, there isn't. Continuations (or, as I have recently been scolded about, first class continuations) are pretty simple things. >I found a bunch of websites all talking about continuations: > >http://www.ai.mit.edu/~gregs/ll1-discuss-archive-html/threads.html#01372 >http://www.ps.uni-sb.de/~duchier/python/continuations.html >... > >The summary is that Continuations are essentially "goto with parameters", or >even more simply, like setjmp, longjmp. Well... no. that's not quite right. There's rather more to continuations than just that. Continuations are more a Location with Environment and History. Closures are Locations with Environment, and Functions are just Locations. >The second issue is why Continuations have nothing but a .call method. >Because they should encapsulate things like stack and program-counter values >at the time of the call, it would seem to me like these are useful things to >have available. It's generally considered Really Evil to look at anything inside a continuation. Darned useful, though... -- Dan --------------------------------------"it's like this"------------------- Dan Sugalski even samurai dan / sidhe.org have teddy bears and even teddy bears get drunk