From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.5 required=5.0 tests=AWL,NO_REAL_NAME,SPF_FAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 7A8A9BBAF for ; Wed, 23 Jul 2008 05:55:08 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsMCAOtIhkjAEKcggWdsb2JhbACRVncBARAgnjg X-IronPort-AV: E=Sophos;i="4.31,235,1215381600"; d="scan'208";a="13371418" Received: from concorde.inria.fr ([192.93.2.39]) by mail2-smtp-roc.national.inria.fr with ESMTP; 23 Jul 2008 05:55:08 +0200 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id m6N3t7GG009256 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Wed, 23 Jul 2008 05:55:08 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsMCAOtIhkjAEKcggWdsb2JhbACRVncBARAgnjg X-IronPort-AV: E=Sophos;i="4.31,235,1215381600"; d="scan'208";a="13371416" Received: from unknown (HELO selenite.metnet.navy.mil) ([192.16.167.32]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 23 Jul 2008 05:55:07 +0200 Received: (qmail 6152 invoked by uid 107); 23 Jul 2008 03:54:58 -0000 Received: from unknown (HELO Adric.metnet.fnmoc.navy.mil) (10.100.105.152) by selenite.metnet.navy.mil with SMTP; 23 Jul 2008 03:54:58 -0000 Received: by Adric.metnet.fnmoc.navy.mil (Postfix, from userid 760) id 66B58AA92; Tue, 22 Jul 2008 20:51:59 -0700 (PDT) From: oleg@okmij.org To: julian.atkinson71@gmail.com Cc: caml-list@inria.fr Subject: Re: newbie ocaml and delimited continuations Message-Id: <20080723035159.66B58AA92@Adric.metnet.fnmoc.navy.mil> Date: Tue, 22 Jul 2008 20:51:59 -0700 (PDT) X-Miltered: at concorde with ID 4886AB9C.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; oleg:01 ocaml:01 delimited:01 ocaml:01 compiler:01 run-time:01 haskell:01 bytecode:01 bytecode:01 ghc:01 tar:01 closure:01 newbie:02 supported:02 languages:03 Sorry for the late reply: I was out of town. > Is it likely that this package may be incorporated into a later official > relase of ocaml (ie receive first class support ) ?. continuations would > appear to offer considerable programming expressiveness even if not widely > supported in other languages (cf scheme). The library delimcc is a pure library in the sense it does not patch OCaml in any way. Therefore, it does not have to be incorporated into the official release of OCaml. There are many very useful OCaml libraries (Core or Extlib to name a few) that will never be part of the official release. Since Inria does not have many resources to devote to OCaml, they rather concentrate on the compiler and the basic run-time system, and leave the libraries to the community. Incidentally, GHC Haskell system is being developed in a similar fashion. > And a very basic tech question - It is obviously necessary that the package > runs as interpreted bytecode - so that the activation record of the > function/closure may be saved/serialized off. Although the current delimcc library does support bytecode only, that is not the fundamental limitation. It is possible in principle to capture and resume continuations in ocamlopt-compiled programs. That is, however, quite more involved, requires the use of frame tables, etc. There has not been much interest in ocamlopt-delimited continuations to justify the development. Incidentally, a new version of the library http://okmij.org/ftp/packages/caml-shift.tar.gz just has been released, with many optimizations reducing the size of captured continuations. The original library was not optimized at all.