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 F2AF97EEFA for ; Wed, 11 Nov 2015 00:11:16 +0100 (CET) IronPort-PHdr: 9a23:9UU+VxVmLd0gzU5x5WSyxmaMoGTV8LGtZVwlr6E/grcLSJyIuqrYZheOt8tkgFKBZ4jH8fUM07OQ6PC9HzBeqs7e+Fk5M7VyFDY9wf0MmAIhBMPXQWbaF9XNKxIAIcJZSVV+9Gu6O0UGUOz3ZlnVv2HgpWVKQka3CwN5K6zPF5LIiIzvjqbpq8CVP1sD3GX1SIgxBSv1hD2ZjtMRj4pmJ/R54TryiVwMRd5rw3h1L0mYhRf265T41pdi9yNNp6BprJYYAu2pN5g/GLdRCTBjN2Eu+OXqswPCRE2B/CgySGITxzpFBQTf7RKydJD2t2Outud71DObPuXqSqgzWHK66KByDhTvjXFUZHYC7GjLh5ko3+pgqxW7qkknzg== Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=hendrik@topoi.pooq.com; spf=None smtp.mailfrom=hendrik@topoi.pooq.com; spf=None smtp.helo=postmaster@april.topoi.pooq.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of hendrik@topoi.pooq.com) identity=pra; client-ip=69.165.131.134; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="hendrik@topoi.pooq.com"; x-sender="hendrik@topoi.pooq.com"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of hendrik@topoi.pooq.com) identity=mailfrom; client-ip=69.165.131.134; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="hendrik@topoi.pooq.com"; x-sender="hendrik@topoi.pooq.com"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@april.topoi.pooq.com) identity=helo; client-ip=69.165.131.134; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="hendrik@topoi.pooq.com"; x-sender="postmaster@april.topoi.pooq.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CjAwAkeUJW/4aDpUVeFoN4SQElgl+BSroiAQ2BZSGCPoJnSgKBfBQBAQEBAQEBAYEJgi2CBwEBAQMBMgEyJAsYCSUPBRiIaggNw3cBAQgCASCLUoREY4J9gRUFjhGIN4UdgnCFEQhdgUeaIR8BAUKEIiA0AYNkgUkBAQE X-IPAS-Result: A0CjAwAkeUJW/4aDpUVeFoN4SQElgl+BSroiAQ2BZSGCPoJnSgKBfBQBAQEBAQEBAYEJgi2CBwEBAQMBMgEyJAsYCSUPBRiIaggNw3cBAQgCASCLUoREY4J9gRUFjhGIN4UdgnCFEQhdgUeaIR8BAUKEIiA0AYNkgUkBAQE X-IronPort-AV: E=Sophos;i="5.20,272,1444687200"; d="scan'208";a="153425861" Received: from topoi.pooq.com (HELO april.topoi.pooq.com) ([69.165.131.134]) by mail3-smtp-sop.national.inria.fr with ESMTP; 11 Nov 2015 00:11:11 +0100 Received: by april.topoi.pooq.com (Postfix, from userid 1001) id 056391A0624; Tue, 10 Nov 2015 18:11:02 -0500 (EST) Date: Tue, 10 Nov 2015 18:11:02 -0500 From: Hendrik Boom To: caml-list@inria.fr Message-ID: <20151110231102.GB21257@topoi.pooq.com> References: <563A42E9.7010008@inria.fr> <20151110143714.GJ8217@nunchakus.loria.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20151110143714.GJ8217@nunchakus.loria.fr> User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [Caml-list] Do we have a B-tree implementation in ocaml? On Tue, Nov 10, 2015 at 03:37:14PM +0100, Simon Cruanes wrote: > I also have a weight-balanced tree implementation (quite experimental, > but there are tests), in containers.data: `CCWBTree` > (http://cedeela.fr/~simon/software/containers/CCWBTree.S.html). > It should provide all the operations you ask for in O(log(n)), and takes > a total order as a parameter. Just wondering -- are these trees in evanescent RAM or on persistent disk storage? If the latter, do they do sufficient locking? -- hendrik > > Cheers, > > Le Wed, 04 Nov 2015, Francois Berenger a écrit : > > I am looking for even a simple implementation with at > > least the following operations: > > > > insert/add, remove, mem/contains and at_rank. > > > > The at_rank is especially important since it is inefficient > > to implement it using fold in a set like the ones from the stdlib. > > > > Thanks a lot, > > F. > > > -- > Simon Cruanes > > http://weusepgp.info/ > key 49AA62B6, fingerprint 949F EB87 8F06 59C6 D7D3 7D8D 4AC0 1D08 49AA 62B6