[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Chicken-users] External representation for continuations
From: |
Joerg F. Wittenberger |
Subject: |
RE: [Chicken-users] External representation for continuations |
Date: |
Mon, 06 Sep 2004 14:14:17 +0200 |
On Thu, 2004-09-02 at 01:07, Jonah Beckford wrote:
> I see at least two main uses of serializing continuations. The first [1] is
> to save a session so that you have a) a persistent Scheme environment, or b)
> an early LISP-ish way to distribute applications for those LISP-ish
> environments that do not have compilers. The second [2] is to create a
> distributed framework or application.
[...]
> [1] a) is very cool as it would give you something like a long-running,
> persistent CSI interpreter; you definitely have to go down the function
> table or external info approach. I guess this would be for those who like
> CHICKEN for its interpreter skills. I definitely don't see a practical need
> for this, but in the same breath I definitely would want this. It's the
> cool factor, but it sounds like a huge amount of work for little gain.
>
> [1] b) is the hardest of all, but thankfully it is not necessary. It is
> hard because the saved continuation must run on arbitrary platforms. It is
> not necessary because CHICKEN has a decent compiler, which lets you
> distribute applications in a more portable way.
You might be interested to hear that www.askemos.org is basically a+b.
Moreover this "a" is in "virtual synchrony" (as the spread people would
call it) in a redundant p2p-distributed environment.
Jonah, you are right, it has been a lot of work. But you are wrong
about the little gain! The practical need is tamper proof processing.
If you want to have a persistant process which has legaly binding
effect, let's say a voting machine, than you need to proof that the
machine is correct. The only way I've seen, was to define an abstract
virtual machine (in terms of XML documents; but see SXML - that Scheme
in a way) and have a proxy network run byzantine agreements for each
state change of the process. There are other uses, e.g. the german
supreme court for patent law found in 2002 that a publication on the
internet doesn't fullfil the requirements of a publication, since
there's no way to proof the timestamp. For that reason the Askemos
object identifiers are self-verifying and include author, date and the
message. For publications/deeds all you need is to create a process,
which rejects modifications...
best regards
/Jörg