From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id E43C6BBBB for ; Wed, 1 Mar 2006 10:13:59 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id k219Dw3b004498 for ; Wed, 1 Mar 2006 10:13:59 +0100 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id KAA27252 for ; Wed, 1 Mar 2006 10:13:58 +0100 (MET) Received: from xproxy.gmail.com (xproxy.gmail.com [66.249.82.194]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id k219DvxH006907 for ; Wed, 1 Mar 2006 10:13:58 +0100 Received: by xproxy.gmail.com with SMTP id s9so56743wxc for ; Wed, 01 Mar 2006 01:13:57 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Lt2GrI2vUCrs/C1Ns789/HuoYULQC87lYh6PhxOR7wMe8XWqCT2bEHGxp/azIaufIoFENq1t4jCyFaca4i0M0jZdPCLqqakapGIV0TTyFaDlbiZBNwII4c23O/iEM+UXC9zPnBSsxTIxiVFSLbTW3hwVFOIDLo6TrefXi7ebtss= Received: by 10.70.62.11 with SMTP id k11mr1676559wxa; Wed, 01 Mar 2006 01:13:57 -0800 (PST) Received: by 10.70.126.16 with HTTP; Wed, 1 Mar 2006 01:13:56 -0800 (PST) Message-ID: <9d3ec8300603010113t608db113x3c5bc06477c3111a@mail.gmail.com> Date: Wed, 1 Mar 2006 10:13:56 +0100 From: "Till Varoquaux" To: "Jacques Carette" Subject: Re: [Caml-list] Native delimited continuations for bytecode OCaml Cc: caml-list@inria.fr, oleg@pobox.com In-Reply-To: <4403A889.9070708@mcmaster.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <4403A889.9070708@mcmaster.ca> X-Miltered: at concorde with ID 440565D6.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 440565D5.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 delimited:01 bytecode:01 ocaml:01 netchannels:01 marshal:01 marshal:01 closures:01 exists:01 native:02 string:02 string:02 sys:03 sys:03 let:03 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_BY_IP autolearn=disabled version=3.0.3 Can your code be used for undelimited continuation? I am currently using code that looks somewhat like this: open Netchannels open Marshal let suspend ()=3D let oo=3Dopen_out "state" and save_state k=3D to_string k [Closures]) (* Skips a warning because this function does not return (it is an exit point)*) ignore(exit 0) in callcc save_state (* Saves the "state" the application is in as an base64 encoded marshalled continuation. *) let _ =3D if (Sys.file_exists "state") then let res =3D Sys.remove("state"); let k=3DMarshal.from_string res 0 in throw k ()