From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p9RHalNs019838 for ; Thu, 27 Oct 2011 19:36:47 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkgBAO6VqU7RVdK2mGdsb2JhbABDhHekYAgiAQEBAQEICQ0HFCWBcgEBAQQSAg8dARsdAQMMBgULAwwCJgICIgERAQUBHAY1n1oKiwxHgmCFLT2IcAIFCoEmhjqBFASUDY0zPYQL X-IronPort-AV: E=Sophos;i="4.69,414,1315173600"; d="scan'208";a="115135924" Received: from mail-iy0-f182.google.com ([209.85.210.182]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 27 Oct 2011 19:36:43 +0200 Received: by iaky10 with SMTP id y10so6129816iak.27 for ; Thu, 27 Oct 2011 10:36:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=OYNHdLMhLvKAZucdtWigbyxDhemsbK7pG3Tlj9/leXQ=; b=lSIm0MWV2NG2lAo0pC9NN6V5mMExhfBmBfHSxD57ef/2nNdC9QUlbols/lC2sSS8EX JCYBSSvdOnh/uj0MC+mCyNMiifvxQGKtvj3IjEYLpUI0UJC8aVkF29ZDiin8ynO3T71D LT2WvbNYpKG1ujJmuSgqZGbtDwn/3486dZnkU= MIME-Version: 1.0 Received: by 10.42.158.3 with SMTP id f3mr59586527icx.7.1319737002498; Thu, 27 Oct 2011 10:36:42 -0700 (PDT) Received: by 10.231.205.135 with HTTP; Thu, 27 Oct 2011 10:36:42 -0700 (PDT) In-Reply-To: <1319632284.18639.181.camel@thinkpad> References: <1319614400.18639.148.camel@thinkpad> <1319632284.18639.181.camel@thinkpad> Date: Thu, 27 Oct 2011 13:36:42 -0400 Message-ID: From: =?UTF-8?Q?Milan_Stanojevi=C4=87?= To: Gerd Stolpmann Cc: yminsky@gmail.com, caml-list@inria.fr Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by walapai.inria.fr id p9RHalNs019838 Subject: Re: [Caml-list] [ANN] Async, a monadic concurrency library >>  But I think we had good reasons for creating Async.  As I said in my >> blog post, the differences in error-handling and interleaving policy >> were enough that we really felt we needed a different library. > > In deed this is interesting. Equeue also follows Lwt's idea not to > interleave when possible, simply for performance reasons. You can, Did you mean to say "Lwt interleaves when possible"? For example let foo () = let r = x >>= bar in .... r in Async [bar] will run only after [foo] has completed (therefore there is no interleaving between [foo] and [bar]), while in Lwt [bar] can run in the middle of [foo] so there is an interleaving