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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id A7C3BBBAF for ; Mon, 23 Aug 2010 03:35:34 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmwIAJttcUzNm0EP/2dsb2JhbACTIAKKC4J/cbd2hTcEhDWFQYJt X-IronPort-AV: E=Sophos;i="4.56,254,1280700000"; d="scan'208";a="55893804" Received: from virginia.nps.edu ([205.155.65.15]) by mail3-smtp-sop.national.inria.fr with ESMTP; 23 Aug 2010 03:35:33 +0200 Received: from Adric.ern.nps.edu ([172.20.216.170]) by virginia.nps.edu with Microsoft SMTPSVC(6.0.3790.4675); Sun, 22 Aug 2010 18:35:30 -0700 Received: by Adric.ern.nps.edu (Postfix, from userid 760) id D1A5517415; Sun, 22 Aug 2010 18:34:58 -0700 (PDT) From: oleg@okmij.org To: caml-list@inria.fr Subject: Delimited continuations in OCaml go to 3.12 and 64 Message-Id: <20100823013458.D1A5517415@Adric.ern.nps.edu> Date: Sun, 22 Aug 2010 18:34:58 -0700 (PDT) X-OriginalArrivalTime: 23 Aug 2010 01:35:30.0283 (UTC) FILETIME=[789B4BB0:01CB4263] X-Spam: no; 0.00; oleg:01 delimited:01 ocaml:01 implements:01 delimited:01 native-code:01 ocaml:01 byte-code:01 byte-code:01 native-code:01 differs:01 tar:01 supported:02 library:03 library:03 The library delimcc implements multi-prompt delimited control operators for byte- and native-code OCaml. The library now can be used with OCaml 3.12.0, on x86_32 and x86_64 (aka amd64) platforms. The byte-code part of the previous versions of delimcc could already be used with OCaml 3.12 (although I didn't know that). Since OCaml byte-code is portable, the byte-code delimcc should work on any supported architecture. In this version, some adjustments have been made to scAPI to make in more portable. It should be stressed that there are _no_ distinct versions of the native-code delimcc, for 32- and 64-bit architectures. Rather, the same code (without any 64-bit--specific ifdefs) works on x86_32 and x86_64. Only C code differs between byte-code and native-code versions of the library; the OCaml code is shared, across the versions and the architectures. The current version of delimcc probably works on other architectures like arm, although I have no means of testing that. The byte- and native-code versions of library has been tested on i386 Linux and FreeBSD platform and on amd64 Linux platform. The code is at http://okmij.org/ftp/continuations/caml-shift.tar.gz I thank Jim Pryor for help with testing.