From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 2902D7FD11 for ; Tue, 30 Aug 2016 11:08:52 +0200 (CEST) IronPort-PHdr: 9a23:J9haZBzWmoEnYNLXCy+O+j09IxM/srCxBDY+r6Qd0egWIJqq85mqBkHD//Il1AaPBtSCra4awLKG++C4ACpbvsbH6ChDOLV3FDY7yuwu1zQ6B8CEDUCpZNXLVAcdWPp4aVl+4nugOlJUEsutL3fbo3m18CJAUk6nbVk9Dq3PF4XTl8W60fyps92WOl0QxWn1XbQnABywrAjV/uOCh5lmK+5lxhLPo3ZMPe5LyGV6IVO7kgzm79ux5YNutS9Q7aEP7clFBIDze68/SbkQKT06OmQ27YW/sBzKUQKL5XI0XWAfkx4OCA/AukKpFqztuzf347IukBKROtf7GPVtAWyv Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mmatalka@gmail.com; spf=Pass smtp.mailfrom=mmatalka@gmail.com; spf=None smtp.helo=postmaster@mail-wm0-f47.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of mmatalka@gmail.com) identity=pra; client-ip=74.125.82.47; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="mmatalka@gmail.com"; x-sender="mmatalka@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of mmatalka@gmail.com designates 74.125.82.47 as permitted sender) identity=mailfrom; client-ip=74.125.82.47; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="mmatalka@gmail.com"; x-sender="mmatalka@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-wm0-f47.google.com) identity=helo; client-ip=74.125.82.47; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="mmatalka@gmail.com"; x-sender="postmaster@mail-wm0-f47.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BvAQAQTMVXfy9SfUpcg00BAQEBAXV8g0epGItOggGGHQKBYDgUAQIBAQEBAQEBARIBAQkLCwkXMYIyBAEVAQSCEAEBBAESER0BGx0BAwELBgULDQICBSECAg8BBA8RAQUBIhMbB4gHAQMPCAShA4EyPjKLPIFqgl4FhlMKGScNVIJ3AQEBAQEBBAEBAQEBGgIGEHODIIILhE2HQoJaBZlQjy6JTYYKjEiCODGBEB6EZnCFVoFAAQEB X-IPAS-Result: A0BvAQAQTMVXfy9SfUpcg00BAQEBAXV8g0epGItOggGGHQKBYDgUAQIBAQEBAQEBARIBAQkLCwkXMYIyBAEVAQSCEAEBBAESER0BGx0BAwELBgULDQICBSECAg8BBA8RAQUBIhMbB4gHAQMPCAShA4EyPjKLPIFqgl4FhlMKGScNVIJ3AQEBAQEBBAEBAQEBGgIGEHODIIILhE2HQoJaBZlQjy6JTYYKjEiCODGBEB6EZnCFVoFAAQEB X-IronPort-AV: E=Sophos;i="5.30,255,1470693600"; d="scan'208";a="234502638" Received: from mail-wm0-f47.google.com ([74.125.82.47]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 30 Aug 2016 11:08:42 +0200 Received: by mail-wm0-f47.google.com with SMTP id i5so24326494wmg.0 for ; Tue, 30 Aug 2016 02:08:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=EVEhNP2JiEhN4WrhuyTt8zJWBhpLzrxlAp4V8H4Vw4Y=; b=yAy8atikyJ55bHmFP2Hj1zlb4Vf2XGL2OET/kav4GPBZx6lWiT++IVjeeFSIkDfNRV njmwK59NwtFJ1X2h4mhae++OIXxCZe1NQ10SHPg8ACXqfsElWZibhitK/H4g9dr2xCNH 5w+0WqV9W9nfdCIFkk0BpfiLasVvdoC3tQ9bO0e8BFk6YMqOooNxiYG/tuQ5BttSl5Dj P8lxpenQ/UaFMhNhgxZp30HsUIPF7MUsFKP15yjo9eVwi4aRtbcyx+MMwFA5E2BRC1BF 4rrcWCHuMyAVHeXEys/jqVSyXfMQYJu08uqIwmJt2QoNZbY1n/xvrWHWl8YFx/re51I4 Q8kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=EVEhNP2JiEhN4WrhuyTt8zJWBhpLzrxlAp4V8H4Vw4Y=; b=BKeOzrezfdo9etn3mSQxTJ/PK54S6JLMNO35ZNK50SrhVuoeuF064/3PGR6vSeoriz 2Io38s3Vvgz33c2qNWewOTDbZgsciqYFgZaGpDDHquodFhaoLzmc3FyrZdrEmiIznJy9 06JKtgWvt1mues+zmjlqFIJDGTVp5tW3iU5FfCFiyt25XD1kqRJGYNRDEfi/yLTxgCBu KE3GbIXq8JbpVH3Kj5qK2DHliQjdDWEpuyy9UNdl8jx8KGdJ4RCklmHMVRiecnS8f9Lc RQN2i1EGGLa+CL4WBbeU71SwubihTXUZiwm1KD5OJdy2/50WezKxAbVLFrOT4ShC5Rwj n6zw== X-Gm-Message-State: AE9vXwPslkpkMZ8JIBO+qv2AnEjMrlDLm3Sh4sofEuvCiYUzoRHFxkpYpn144hVBNgeieA== X-Received: by 10.28.132.16 with SMTP id g16mr2633152wmd.97.1472548122147; Tue, 30 Aug 2016 02:08:42 -0700 (PDT) Received: from localhost ([37.153.108.22]) by smtp.gmail.com with ESMTPSA id e65sm2890209wmg.3.2016.08.30.02.08.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 30 Aug 2016 02:08:40 -0700 (PDT) From: Malcolm Matalka To: Daniel =?utf-8?Q?B=C3=BCnzli?= Cc: Dario Teixeira , Rudi Grinberg , caml-list References: <20160829153945.424bhlwpk7pmm6em@rgcaml.localdomain> <1EA71190C2C049079BE32A69F18ABB9C@erratique.ch> Date: Tue, 30 Aug 2016 09:08:38 +0000 In-Reply-To: <1EA71190C2C049079BE32A69F18ABB9C@erratique.ch> ("Daniel =?utf-8?Q?B=C3=BCnzli=22's?= message of "Mon, 29 Aug 2016 23:51:55 +0200") Message-ID: <86inuioc89.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Caml-list] Functorising over Cohttp's backends Daniel B=C3=BCnzli writes: > On Monday 29 August 2016 at 20:42, Dario Teixeira wrote: >> Cohttp is perhaps the poster child for how the Lwt/Async schism >> makes many APIs way more complex than they should be! (Not that >> there's an easy solution to this situation...) > > I'd rather say it is the poster child on how not to cope with the > lwt/async schism... Don't functorize over IO, provide non-blocking > abstractions that can be used with either. Is there any HTTP library for Ocaml that separates I/O from the state machine? I have looked around a little bit for something I'm working on, but with no luck. I'm told HTTP is especially hard to separate these things but I'm a bit ignorant as to why. > > D