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 A494582355 for ; Thu, 8 Feb 2018 08:24:22 +0100 (CET) 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-lf0-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=209.85.215.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 209.85.215.47 as permitted sender) identity=mailfrom; client-ip=209.85.215.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-lf0-f47.google.com) identity=helo; client-ip=209.85.215.47; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="mmatalka@gmail.com"; x-sender="postmaster@mail-lf0-f47.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3A3OjAHxz0375CofHXCy+O+j09IxM/srCxBDY+r6Qd?= =?us-ascii?q?2+4QIJqq85mqBkHD//Il1AaPAd2Craocw8Pt8InYEVQa5piAtH1QOLdtbDQizf?= =?us-ascii?q?ssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBBr/KRB1?= =?us-ascii?q?JuPoEYLOksi7ze+/94HObwlSmDaxfa55IQmrownWqsQYm5ZpJLwryhvOrHtIeu?= =?us-ascii?q?BWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3o05MLwqxbO?= =?us-ascii?q?SxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsDtU7s6RSqt4LtqSB/wiS?= =?us-ascii?q?cIKTg58H3MisdtiK5XuQ+tqwBjz4LRZoyeKfhwcb7Hfd4CS2pOUMZfWTJcDIy+?= =?us-ascii?q?YYUBDOUOMvpDoonhu1cDtweyCRW2Ce/zzDJDm3/43bc90+QkCQzI2xYvH9YSv3?= =?us-ascii?q?TTqNX1MboZX+evw6nU1zrDa/BW1i3g44XPdxAhpOuDXa5qfsrVykkgDRjIjlqV?= =?us-ascii?q?qYP/PjOV0v4BvHSc7+plTO+ijXMspQ92ojiq3Mgsi4/Ji5oTylHE6CV12pg6Ks?= =?us-ascii?q?ClSEJjfN6kCIVftyecN4dsXMwtXnxotSAnwbMFoZ62ZDYGxIgjyhLFaPGKc5KE?= =?us-ascii?q?7gz+WOuROzt1i3BodKqhixqv80Ws0PPwWtS73VpQsyZInd3BumoQ2xHd9MSKTO?= =?us-ascii?q?Z28F271jaVzQ/T7/lJIUAqmqrfLJ4s2rswmYASsUTHByP2nEv2gLOPekUq9eWl?= =?us-ascii?q?6f7rYrrhpp+bOI90jh/xPr4ylcy4BOQ0KgkOX26F9uSgzLDv41H1TbFQgvA1kq?= =?us-ascii?q?TVqo7WKdkbq6KjDAJY0J4v6xOlADen1NQYk2MHLFVAeB+fiojpPkvBIOziAve7?= =?us-ascii?q?gFSjiixmx//DPrL7A5XNKmLPn6vmfbZ480Jc0hY8zchD55JIDbEMOO78VVX0tN?= =?us-ascii?q?zcFxM5Nw20w/37CNhmzYMfWWePAreDP6/IsF+I4PgvI+iWa4MPtjb9Matt2/m7?= =?us-ascii?q?oGE2lFkMNZOuwJEWbnu4AvlnJQ3Nc3rhhMYISD9S4SIxSeXrjBuJVjsFNFioWK?= =?us-ascii?q?dpwzg/A4WiCM/mT5ykhL+IlHO+G5RKb2RFA3iDFH7pc8OPXPJaO3HaGdNojjFR?= =?us-ascii?q?DevpcIQmzxz78Vaik+M2fNqRwTURsNfY7PYw4uTSkR8o8jktVpaS1miMSyd/mW?= =?us-ascii?q?ZaHmZqjpA6mlR0zxK46YY9m+ZRTIUB6PZAUwN8PpnZnbQjVoLCHznZd9LMc26I?= =?us-ascii?q?B9WrBTZrE4A0yt4KJkJzQ5Cs0k+F0C2tDLsY0beMAc5s/w=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BdAgDf+Xtahi/XVdFdFggBBgyEN4EFE?= =?us-ascii?q?459jTOCApdYFYIDCiOFGAKCahkHBDEXAQIBAQEBAQEBAQESAQEBCAsLCCgvgjg?= =?us-ascii?q?kAYJHAQMBAUABGx0BAwELBgULAxMlDwERAhEBBQEcBhOKHAEDDQgEDKNCQI4cB?= =?us-ascii?q?QEcgwsFgXCBcQoZJw1ZWIIKAQEBAQEFAQEBAQEBGgIGCQEIhGOBNl+BV4QIgQ6?= =?us-ascii?q?Ca0QDAYE3hhQgBaN2NQmIHohXhQeDBYkiiBeNe0iJGwYCCQgUJYEXIQGCBjMaC?= =?us-ascii?q?BsVPTKCFAmCPQ8QDIIHdwGOBQEBAQ?= X-IPAS-Result: =?us-ascii?q?A0BdAgDf+Xtahi/XVdFdFggBBgyEN4EFE459jTOCApdYFYI?= =?us-ascii?q?DCiOFGAKCahkHBDEXAQIBAQEBAQEBAQESAQEBCAsLCCgvgjgkAYJHAQMBAUABG?= =?us-ascii?q?x0BAwELBgULAxMlDwERAhEBBQEcBhOKHAEDDQgEDKNCQI4cBQEcgwsFgXCBcQo?= =?us-ascii?q?ZJw1ZWIIKAQEBAQEFAQEBAQEBGgIGCQEIhGOBNl+BV4QIgQ6Ca0QDAYE3hhQgB?= =?us-ascii?q?aN2NQmIHohXhQeDBYkiiBeNe0iJGwYCCQgUJYEXIQGCBjMaCBsVPTKCFAmCPQ8?= =?us-ascii?q?QDIIHdwGOBQEBAQ?= X-IronPort-AV: E=Sophos;i="5.46,477,1511823600"; d="scan'208";a="312559226" Received: from mail-lf0-f47.google.com ([209.85.215.47]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 08 Feb 2018 08:24:21 +0100 Received: by mail-lf0-f47.google.com with SMTP id x196so4952923lfd.12 for ; Wed, 07 Feb 2018 23:24:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=S99vf5XxxgsRiu0jkudIbNf0o4AuYE2Fx8Bwf0gE89s=; b=DSnENx14/88xkOhXunN1z5samaGwymmLfzTqMrAA9Dt61rWBD+j5mpqnnMOEVTak8K 51jvMPWg/La9gq/Xdv7ODb+r+GcKyXCix7NiL3Gw8yum3Vu3qCLahlZt2CYX5wxSpN17 GI5+E1hea03qvWvPH3Mmufpye+DWHQd8BcO7urpcpOGDZEx+efxqbYVr5uHyKn3K5j5/ 8uifH7s9rbkxm26DjsmPuooSh3TWTpHfmVnEDfiusuN9QyGsPI3yj4GaD7gyAsA1H1OQ m245hGb1HagTJ6lOcWkiJbJW1E6lQdQ6jjXG0/UwcRE4jQ+BLLIl6oxGOIyNBMOV8GoJ 8NLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=S99vf5XxxgsRiu0jkudIbNf0o4AuYE2Fx8Bwf0gE89s=; b=ViTFypyKnThSHz5f6ubAB8KE161zJrrVWqCGcfyg+cO5yduF8Rx551FW9l9RLpFBSm bQN7zfEoKQdeC1IbNj8pLBe80ulEdc4trrwJzbtE81JugaibQAvzUaPbbGTLDbLsLHJJ 1G8+12vQBcvKiXUG2XCXudt+Teew96GPaYeO/gLlhtmzgTtBTmwvy0g4nbR9qVTvx8oI 5o9i9HTrVoVX4/YHgOLUiUa2sl3TronZHiy3JsnVCYCLgAD28JiveAQCUvDe96SjGO2e LekuTy/hVVhUcfNzcoqX//Alt/16hT2asnl8KTYCRBx6OCqFvHcvfy0lndUabQsu6EXS a+QA== X-Gm-Message-State: APf1xPBLYJRsdoaajT0Q1ih3bydEA8PSsvqZxTIAP6Lcna++s1d50vPw Vq9gDXSYZ+lljhdbU+aBOx0hp+sE X-Google-Smtp-Source: AH8x227ZB07OoyTXzws9qb8LxW9MQ3PxRlaFHeghpnj5H6p+Ui7IECaEvtflUiBduRV5DIPoUmhHKw== X-Received: by 10.46.68.93 with SMTP id r90mr5721469lja.13.1518074660891; Wed, 07 Feb 2018 23:24:20 -0800 (PST) Received: from localhost (host-217-214-149-132.mobileonline.telia.com. [217.214.149.132]) by smtp.gmail.com with ESMTPSA id z83sm660741lje.41.2018.02.07.23.24.19 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 Feb 2018 23:24:19 -0800 (PST) References: User-agent: mu4e 0.9.16; emacs 25.3.1 From: Malcolm Matalka To: Evgeny Roubinchtein Cc: OCaml Mailing List In-reply-to: Date: Thu, 08 Feb 2018 08:24:27 +0100 Message-ID: <86h8qsc5as.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Caml-list] File synchronization implementation(s) in OCaml? Check out Unison https://www.cis.upenn.edu/~bcpierce/unison/ Evgeny Roubinchtein writes: > Dear OCaml users and developers, > > Do you have advice on: > > 1. Practical file synchronization algorithms. Rsync is the low bar for my > purposes here, i.e., I don't want anything that performs worse than rsync > in practice, but I am wondering if there is a way to do better. My > completely uninformed attempt at searching the literature turned up this > paper: http://engineering.nyu.edu/~suel/papers/recon.pdf, but I don't know > anything about the area, so I am afraid that I don't even know what I don't > know about the subject :-). I am also aware that Unison has an > implementation of an rsync-like algorithm, but I don't know much more than > that about that implementation. > > 2. Existing implementation(s) of said algorithms in OCaml. > > Thank you in advance! > > -- > Best, > Evgeny ("Zhenya")