On 10/5/05, Thomas Chust <[EMAIL PROTECTED]> wrote: > Am 04.10.2005, 20:46 Uhr, schrieb Peter Keller <[EMAIL PROTECTED]>: > > > [...] > > What if the messages that a message passing system used were themselves > > continuations? Chicken already compiles to continuation passing style, > > so what would it mean to package up the continuation and move it to > > another > > machine for execution? How much state would have to go with it? > > [...] > > Hello, > > CHICKEN does not have any feature that would make continuations > serializable; it would mean that you somehow have to transform machine > pointers to arbitrary memory locations where your continuations' assembler > code lives into stuff that can portably be transferred over a network > connection.
You'd either have to serialize some external representation of the code pointer of a closure object and make sure the receiving end has the same code and some mapping back to the proper code pointer, or include source-code (or some representation that can be interpreted/ compiled) into the closure. On the other hand, serializing continuations is a dangerous business - it is very hard to estimate what finally ends up in a fully serialized continuation... For this reason I distrust using Scheme continuations for things like continuation-based web-programming - it just doesn't scale (pseudo-continuations like those used in CL-based web-frameworks are different - here you have more control over what gets serialized and what not). cheers, felix _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
