chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Async IO (was Re: libcurl?)


From: felix winkelmann
Subject: Re: [Chicken-users] Async IO (was Re: libcurl?)
Date: Fri, 7 Oct 2005 07:46:32 +0200

On 10/5/05, Thomas Chust <address@hidden> wrote:
> Am 04.10.2005, 20:46 Uhr, schrieb Peter Keller <address@hidden>:
>
> > [...]
> > 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]