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 5EF937FF9F for ; Tue, 8 Mar 2016 15:24:15 +0100 (CET) IronPort-PHdr: 9a23:QXO1nhUYizwuucMUf2dsK9mM/tLV8LGtZVwlr6E/grcLSJyIuqrYZhyBt8tkgFKBZ4jH8fUM07OQ6PC/HzxcqsvZ+Fk5M7VyFDY9wf0MmAIhBMPXQWbaF9XNKxIAIcJZSVV+9Gu6O0UGUOz3ZlnVv2HgpWVKQka3CwN5K6zPF5LIiIzvjqbpq8KVM1kD2WL1SIgxBSv1hD2ZjtMRj4pmJ/R54TryiVwMRd5rw3h1L0mYhRf265T41pdi9yNNp6BprJYYAu3SNp41Rr1ADTkgL3t9pIiy7UGCHkOz4S4tW38RlFJtAg7e7wCyCob0sy3htftV2iCcMNbqV705RXKp6KI9GzHyjyJSGzc/8WzTvebkirBfoVr1qxV5woPQJouIOfxseqL1cMkATHZAR9tcESdBVNDvJ7ATBvYMaL4L57L2oEED+F7nXVGh Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=daniel.buenzli@erratique.ch; spf=None smtp.mailfrom=daniel.buenzli@erratique.ch; spf=None smtp.helo=postmaster@smtp.webfaction.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=pra; client-ip=74.55.86.74; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=mailfrom; client-ip=74.55.86.74; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@smtp.webfaction.com) identity=helo; client-ip=74.55.86.74; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="postmaster@smtp.webfaction.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0A9AQDd395WlkpWN0pchAxtAbpZgWkhhW4CgXYTAQEBAQEBAQEQAQEBAQkLCQkhL0EQgVyCFQEBAwEjVgULCw4MAiYCAkcQBhuIFAgECq50jywBCwEde4leglqBXoMCK4EPBZcqhWOKOoZtDoVRjlYiA4JAEQiBSWkBAQGIIYFbAQEB X-IPAS-Result: A0A9AQDd395WlkpWN0pchAxtAbpZgWkhhW4CgXYTAQEBAQEBAQEQAQEBAQkLCQkhL0EQgVyCFQEBAwEjVgULCw4MAiYCAkcQBhuIFAgECq50jywBCwEde4leglqBXoMCK4EPBZcqhWOKOoZtDoVRjlYiA4JAEQiBSWkBAQGIIYFbAQEB X-IronPort-AV: E=Sophos;i="5.22,556,1449529200"; d="scan'208";a="206605009" Received: from mail6.webfaction.com (HELO smtp.webfaction.com) ([74.55.86.74]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 08 Mar 2016 15:24:14 +0100 Received: from [172.20.10.2] (220.234.197.178.dynamic.wless.lssmb00p-cgnat.res.cust.swisscom.ch [178.197.234.220]) by smtp.webfaction.com (Postfix) with ESMTP id 3685420AA5A3; Tue, 8 Mar 2016 14:24:11 +0000 (UTC) Date: Tue, 8 Mar 2016 15:24:10 +0100 From: =?utf-8?Q?Daniel_B=C3=BCnzli?= To: Yaron Minsky Cc: OCaml List Message-ID: In-Reply-To: References: X-Mailer: sparrow 1.6.4 (build 1178) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Subject: Re: [Caml-list] [ANN] Hmap 0.8.0 Le mardi, 8 mars 2016 =C3=A0 13:44, Yaron Minsky a =C3=A9crit : > I'm curious if you've looked at Core_kernel's Univ_map? No, I just abstracted code I've been c&p around in a lot of projects. > Our type witnesses are a little interesting in that you can derive new wi= tnesses from old ones (e.g., if a equals a', and b equals b', then a * b eq= uals a' * b'). That said, I'm not sure that this is relevant for the hetero= genous map use case. The type identifiers are an implementation detail. I used to implement this= using a universal type, see e.g. [1], but the type identifier implementati= on allocates less and should be more efficient (but the latter I didn't mea= sure).=20=20 Best,=20=20 Daniel [1] http://alan.petitepomme.net/cwn/2010.02.09.html#1