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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id DB7097F0F9 for ; Mon, 23 Nov 2015 17:26:52 +0100 (CET) IronPort-PHdr: 9a23:Qots2hKvpJafZk5YotmcpTZWNBhigK39O0sv0rFitYgUIvzxwZ3uMQTl6Ol3ixeRBMOAu68C1LKd4/6ocFdDyKjCmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TWM5DIfUi/yKRBybrysXNWC0oLoj6vipdX6WEZhunmUWftKNhK4rAHc5IE9oLBJDeIP8CbPuWZCYO9MxGlldhq5lhf44dqsrtY4q3wD89pozcNLUL37cqIkVvQYSW1+ayFmrPHs4DfZRA0A4XoHZU8RmB1US1zL9hj8VZDwqW3wseB6xAGRMMSwQ6piChq46KI+YRn0jyFPHTcy8GDRwph5ir5cphiorBx+xabFaYGSM7x1eaaLLoBSfnZIQssED38JOYi7dYZaSrNZZes= Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=antonbachin@yahoo.com; spf=Pass smtp.mailfrom=antonbachin@yahoo.com; spf=None smtp.helo=postmaster@nm12-vm6.bullet.mail.ne1.yahoo.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of antonbachin@yahoo.com) identity=pra; client-ip=98.138.91.105; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="antonbachin@yahoo.com"; x-sender="antonbachin@yahoo.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of antonbachin@yahoo.com designates 98.138.91.105 as permitted sender) identity=mailfrom; client-ip=98.138.91.105; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="antonbachin@yahoo.com"; x-sender="antonbachin@yahoo.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@nm12-vm6.bullet.mail.ne1.yahoo.com) identity=helo; client-ip=98.138.91.105; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="antonbachin@yahoo.com"; x-sender="postmaster@nm12-vm6.bullet.mail.ne1.yahoo.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0B9AACzPVNWm2lbimJegi6CTxCvL4U4iA2CKIFlhg8CgUU5EwEBAQEBAQEBEAEBAQEBBgsLCSEugi2CCAEBAwEjHQErCgMBBAsGBRoCJgICRRIGLod9AQMKCK54gWqCeYViASMnA4R3AQEBAQEBAQEBAQEBAQEBAQEBAQEBEgYMAgFyhVOCEIJuhFmDHC+BFQWOFIg8jTEUgUeHQiCPHINyIgGCRCMdgV9ThSsBAQE X-IPAS-Result: A0B9AACzPVNWm2lbimJegi6CTxCvL4U4iA2CKIFlhg8CgUU5EwEBAQEBAQEBEAEBAQEBBgsLCSEugi2CCAEBAwEjHQErCgMBBAsGBRoCJgICRRIGLod9AQMKCK54gWqCeYViASMnA4R3AQEBAQEBAQEBAQEBAQEBAQEBAQEBEgYMAgFyhVOCEIJuhFmDHC+BFQWOFIg8jTEUgUeHQiCPHINyIgGCRCMdgV9ThSsBAQE X-IronPort-AV: E=Sophos;i="5.20,337,1444687200"; d="scan'208";a="154842837" Received: from nm12-vm6.bullet.mail.ne1.yahoo.com ([98.138.91.105]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 23 Nov 2015 17:26:51 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1448296009; bh=UZMnWwn4c9KkDOAWj9GkJB64rPgrC/K+qQc8VYkF43E=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject; b=En6eZp4SQOzMyPNCQHPwKLftLiB4L4eiOB9mnu2HWA2TI0wiRM/Q93k2p4C8aaUs59uKoCtz5uEfP6tAIv/4wlTUxQ6reEdpBgal1F3hByxzYjjhEa+1qFXa+Y942Zrf3IKU6Ilmfk7YxekSmn/wTrBwpPwK5HABmCs6irlj4jWZTd8pSsUHUTunUKqhyZfrFomDCz/dMrXO6+ZslHvU7dFBjP/ITBUzm1BORs+G1/YjKIsze6y/ehmN2HJaJgRGI43WOUnrM6bWJHwXSFp0ODb+RVfXcj0UIankgzKYGnz1t5AN8j9zBYRlrs3NJyhJ3peWgql7hweVg8pbn2gvdw== Received: from [98.138.100.115] by nm12.bullet.mail.ne1.yahoo.com with NNFMP; 23 Nov 2015 16:26:49 -0000 Received: from [98.138.84.38] by tm106.bullet.mail.ne1.yahoo.com with NNFMP; 23 Nov 2015 16:26:49 -0000 Received: from [127.0.0.1] by smtp106.mail.ne1.yahoo.com with NNFMP; 23 Nov 2015 16:26:49 -0000 X-Yahoo-Newman-Id: 152932.96977.bm@smtp106.mail.ne1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: 49ZrndIVM1kYy03yRP9szBrJQZmeyWWuVgURlj3jI98dOAM BJ9RzXqha_TRAMdS8D2c19nsvGU42HO0ci7XG8a.PpPCGKQbpd1STOs_JSIF OlesjdTyH7cNukFfaAtUyJNFIzRpI1OuMmGlyKXoFUq0.zqBZLNLVtWZpXh9 snBY956cFqBfhEDxBXCLyk0phTkDz52kFQeNoA7hZAFFWIENf9mWHMwCaKHK ysV1hVehExGu7PNc.tpy0Fb6cTeXUfaNbS3kdQBMprdfnCGydW4zXsxB4pzt 2CiOz9PbTjao2bOjfFDBQi1.Ua8Azj5DqAJZ9HlpabEZd00rLizhDWnxiOY4 d98i_xZAEBy.sEScZviSj4K1B2gjei3zXHkDBnsrZ4Csu5hleDFQY6uoV4gn srDUICqfiA.bDr6amMGKrrljrXsq7lu9E3J_Eiz3jtlsMar5dLSilT8pi5Gy WJJPeHgkJ4MZfqq0zzDVs167QOZSKuzwMFUt7ahEQBYpjY3SSStJCLCOouu9 BRtwEcdRXKXLPJt4j4V9AXKiId6jjmXI- X-Yahoo-SMTP: ddtAESaswBBsjSthz_dVP91gr2NDfymF Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\)) From: Anton Bachin In-Reply-To: <5652EDFC.5070105@cea.fr> Date: Mon, 23 Nov 2015 10:26:48 -0600 Cc: caml-list@inria.fr X-Mao-Original-Outgoing-Id: 469988808.432475-5fbab2e8a5dbf5a8514254c92793b79e Content-Transfer-Encoding: quoted-printable Message-Id: <98E819C0-76A2-4038-A5E6-DFBDC08DF7FA@yahoo.com> References: <4824377F-4045-4D47-9BAB-E06B0C939988@yahoo.com> <564AF405.10400@cea.fr> <1A569326-8749-4332-A88C-719165728F20@yahoo.com> <5652EDFC.5070105@cea.fr> To: =?utf-8?Q?Fran=C3=A7ois_Bobot?= X-Mailer: Apple Mail (2.2070.6) Subject: Re: [Caml-list] [ANN] Lambda Soup - HTML scraping and rewriting with CSS selectors > It is just for not creating another xml type and simpler composition of o= caml libraries. That=E2=80=99s a worthwhile goal. I certainly intend to look into it. I want there to be some =E2=80=9Ccanonical=E2=80=9D set of libraries that work tog= ether nicely. > The functor solution used by cohttp (for allowing lwt or async) for examp= le is a nice one, and flambda should eliminate most of the cost of it (on a= side note, does @inline work for functor application?) Since you just made me aware of the existence of @inline (thank you), I=E2=80=99m going to have to hope someone else answers the side note question :) I would have to gain some experience with it first in normal usage. > However in this case since the differences is about typing and not just t= he implementation, I'm not sure you can define a generic functor that could= be applied with instance (NetHttp, tyxml, yours) that restricts differentl= y the function applications. Let me make sure we are focusing on the same issue. I am supposing that you would like to construct a tree using tyxml=E2=80=99s =E2=80=9Crichly-ty= ped=E2=80=9D functions, then be able to walk around it using Lambda Soup, and make edits in the tree using the mutation interface (or some improved variant of it) or tyxml. However, when making the edits, you would want the =E2=80=9Crich=E2=80=9D tyxml types preserved, to benefit from the stati= c constraints they impose on your code. Is this right? I think that is the only trouble. Lamdba Soup doesn=E2=80=99t actually expo= se any XML type, and I think it can ported or functorized to work with just about any low-level XML representation. Regards, Anton=