From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 001217FF9F for ; Tue, 8 Mar 2016 07:55:45 +0100 (CET) IronPort-PHdr: 9a23:MGE2iR9w9wsLCP9uRHKM819IXTAuvvDOBiVQ1KB92+ocTK2v8tzYMVDF4r011RmSDdqdu6gP2ruempujcFJDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXsq3G/pQQfBg/4fVIsYL+lRciC1Y/mhqibwN76XUZhvHKFe7R8LRG7/036l/I9ps9cEJs30QbDuXBSeu5blitCLFOXmAvgtI/rpMYwuwwZgf8q9tZBXKPmZOx4COUAVHV1e1wyseTwtRjYTUOm6XIGTWwS2k5BDAHf8xj+B8au7wP1s+N83G+ROsigHp4uXjH3yqZvQRnfszsOMTk7/X/WgYQkiaNfqRS6uzRwxofVZMeeM/8oLfCVRs8TWWcUBpUZbCdGGI7pKtJXV+c= Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=milanst@gmail.com; spf=Pass smtp.mailfrom=milanst@gmail.com; spf=None smtp.helo=postmaster@mail-io0-f178.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of milanst@gmail.com) identity=pra; client-ip=209.85.223.178; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="milanst@gmail.com"; x-sender="milanst@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of milanst@gmail.com designates 209.85.223.178 as permitted sender) identity=mailfrom; client-ip=209.85.223.178; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="milanst@gmail.com"; x-sender="milanst@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-io0-f178.google.com) identity=helo; client-ip=209.85.223.178; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="milanst@gmail.com"; x-sender="postmaster@mail-io0-f178.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0B2AQA5d95WlbLfVdFchHkGqEWHHYpugWmGDwKBLgc6EgEBAQEBAQEBEAEBAQEHCwsJIS+CLYIVAQEDARIRHQEbHQEDAQsGBQsPAiYCAiIBEQEFARwGNYdsAQMKCKE4gTE+MYs2gWqCV4VaChknDVGDcwEBAQEBBQEBAQEBFQEFCgRthRyEPYc6gToFjiSJBo1ujnqNGBEegQ8nBIItDREIgWYeLol/AQEB X-IPAS-Result: A0B2AQA5d95WlbLfVdFchHkGqEWHHYpugWmGDwKBLgc6EgEBAQEBAQEBEAEBAQEHCwsJIS+CLYIVAQEDARIRHQEbHQEDAQsGBQsPAiYCAiIBEQEFARwGNYdsAQMKCKE4gTE+MYs2gWqCV4VaChknDVGDcwEBAQEBBQEBAQEBFQEFCgRthRyEPYc6gToFjiSJBo1ujnqNGBEegQ8nBIItDREIgWYeLol/AQEB X-IronPort-AV: E=Sophos;i="5.22,555,1449529200"; d="scan'208";a="206503940" Received: from mail-io0-f178.google.com ([209.85.223.178]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 08 Mar 2016 07:55:45 +0100 Received: by mail-io0-f178.google.com with SMTP id n190so15988912iof.0 for ; Mon, 07 Mar 2016 22:55:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=svwUI1vljxfaL58eiOSoMhOsgFQcR0ahJ+l6dl3XEqo=; b=Q8Jzj9P8DhIX/6U4UNcEDl+jfML6mRhj+/cEnecgxvf7D4h1e1kIe1ErnTPdv6xtut /MDn3e3yPrrsKXn5NSh/eIXUatd3tG9V+1KUBWUx6ypORZpQ8gSEh1lIPyRtYOe6Rnjk rzYeq7V8lWq40EZTWSG6MR2G8XIbalRz9hhdwDSJsmIn4dFo4Lz9VpM9NJ6arkojf4Fg Hl2FeoT+dyeq778ML7whididGvaH05oPuKcNo/ttmtF0zbia1hratSNnI0hkA79HzEq9 cknOGL/h4msz7tk/1udXhcr6+7VRxowGbevKj0x9wrCpKaNUu5f7THJaQ1HVQS4v5M8j MXWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=svwUI1vljxfaL58eiOSoMhOsgFQcR0ahJ+l6dl3XEqo=; b=hPk/h8Vgjk0gbW9bHEXVxYySIX3hYmSfMnlB17XmyHDxi31PcFeKZgfwxqWhZJelzM Hv25Hq/Qg4feZJuHKadn/TH2Bn4plQmCskydZYFlP1wRPrIHk9GCTeLDujiEMHI6htSX /ezyXBdMXNe/BCAOC6+fqgwQB9jyvjXnJIfzGmtMOsqr+DodqjkifdZOIyYlpPt7kjBV Tj/E1xLYqmZmlkShlsh0C/NIfw0IJhTpM+gD6AKrJnAk5dCmgbPGM+KVHMQT026oR76J 7b1BSYg8/dpLdKqm927AZfipUE0J2YRkMRVy/YT4d2uq6sJ1fWkrdYGdIxizAWMN4DPi NJaQ== X-Gm-Message-State: AD7BkJLz86U5yKQmjMZDNyxZcQRY9qIZvVvnru7aamGInX95qWoa/2eNSJZ//o9mxJrGxyEjN41kcPf1Uq5N+A== X-Received: by 10.107.154.80 with SMTP id c77mr25784545ioe.162.1457420143786; Mon, 07 Mar 2016 22:55:43 -0800 (PST) MIME-Version: 1.0 Received: by 10.79.123.22 with HTTP; Mon, 7 Mar 2016 22:55:04 -0800 (PST) In-Reply-To: References: <86oaaqahc1.fsf@gmail.com> <20160307090859.GF30630@nunchakus.loria.fr> From: =?UTF-8?Q?Milan_Stanojevi=C4=87?= Date: Tue, 8 Mar 2016 01:55:04 -0500 Message-ID: To: Ashish Agarwal Cc: Yotam Barnoy , Simon Cruanes , Malcolm Matalka , Ocaml Mailing List Content-Type: text/plain; charset=UTF-8 Subject: Re: [Caml-list] Question about Lwt/Async > Most people provide this internally for each of their projects, e.g. > Cohttp's IO signature. However, we have quite a few projects that needed > this abstraction, so duplicating this code in each repo seemed wrong. Thus > we developed future, which was recently released in opam. I didn't check opam but I guess there are libraries that are just Async or (more likely) just Lwt. If I want to use them both I'm out of luck, right? I'd rather try to do something like Yaron said and have Lwt run using Async backend or vice versa. Both are probably possible. Converting between Lwt.t and Deferred.t in that case is trivial. This would allow us then to mix Async and Lwt libraries in the same application, and programmers would be free to choose to have their interface be Async or Lwt, or both if abstracting layer works for them. Of course, devil is in the details. I hope that this is indeed possible and that changes necessary to Lwt and Async to make this work are not huge.