From mboxrd@z Thu Jan 1 00:00:00 1970 X-Sympa-To: caml-list@inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p3UDhwYe030061 for ; Sat, 30 Apr 2011 15:43:58 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ag8CALkRvE1KfVI0imdsb2JhbACECkehPggUAQEBCgkNBxIGIadiikA8giqEHzSIXgEBAwaEeYEBBI55hBmBDoUTO4Mv X-IronPort-AV: E=Sophos;i="4.64,292,1301868000"; d="scan'208";a="107139365" Received: from mail-ww0-f52.google.com ([74.125.82.52]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-MD5; 30 Apr 2011 15:43:53 +0200 Received: by wwe15 with SMTP id 15so6047468wwe.9 for ; Sat, 30 Apr 2011 06:43:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:references:user-agent:in-reply-to:mime-version :content-type:subject:from:date:to:cc:message-id; bh=7y9AhZ9ruU2AN0eseMFJYX9RjRV0BbXPrl8SzuFGJ7k=; b=w0c6rSjGa81A7l0JOQDVfr1P3DOjgiFiobs8P7L6SWhRlywOlzxaI0ocAJK5gvK5UX WU9ZvHKPWNL9OqKZGN2Wfes8UyA2+kKbtC91AT6nCxnvg4GpekL3jy0dAdYXjr0ZyXQW tK8N5vqknkwiyMIzLeHFJYXg6WwGM1vXF2XSQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=references:user-agent:in-reply-to:mime-version:content-type:subject :from:date:to:cc:message-id; b=qhSeLHeIoZgYqOr19+5gNS2jLYfU3Z/pX9B/KuUoOPTuisDaK+iOV1ytf0fETNnqKg 4p7860lEsTBsJjQyPaG6aGnYRBI7lMrGI4HReR27YxvoEevT0qNKIvZp6KvwuyoA3ZK6 aQ0njcI2woh/VjBXIIO+TFuLSisLnoeaf1Rpw= Received: by 10.216.69.77 with SMTP id m55mr6200254wed.11.1304171032990; Sat, 30 Apr 2011 06:43:52 -0700 (PDT) Received: from [192.168.1.14] (AGrenoble-552-1-109-193.w92-143.abo.wanadoo.fr [92.143.244.193]) by mx.google.com with ESMTPS id d59sm1807776wed.21.2011.04.30.06.43.50 (version=SSLv3 cipher=OTHER); Sat, 30 Apr 2011 06:43:52 -0700 (PDT) References: <164004794.892685.1304067487325.JavaMail.root@zmbs2.inria.fr> <20110429093355.GA25892@yquem.inria.fr> User-Agent: K-9 Mail pour Android In-Reply-To: <20110429093355.GA25892@yquem.inria.fr> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----JELQRFFQGTX4U6K3R4QEOIUBMMMW9V" From: "craff73@gmail.com" Date: Sat, 30 Apr 2011 15:43:40 +0200 To: luc.maranget@inria.fr, Dmitry Bely CC: caml-list@inria.fr Message-ID: <4746acd6-ddad-498c-a535-a3bfdcb5fec7@email.android.com> X-Validation-by: craff73@gmail.com Subject: Re: [Caml-list] Comparing variant types ------JELQRFFQGTX4U6K3R4QEOIUBMMMW9V Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hello, You want to avoid code size quadratic in the number of constructors. Which is possible: let cmp x y = match x, y with A, A -> true | A, _ | _, A -> false | B, B -> true | B, _ | _, B -> false ... Cheers Christophe -- Envoyé de mon téléphone Android avec K-9 Mail. Excusez la brièveté. ------JELQRFFQGTX4U6K3R4QEOIUBMMMW9V Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit Hello,

You want to avoid code size quadratic in the number of constructors. Which is possible:

let cmp x y = match x, y with
A, A -> true
| A, _ | _, A -> false
| B, B -> true
| B, _ | _, B -> false
...

Cheers
Christophe

--
Envoyé de mon téléphone Android avec K-9 Mail. Excusez la brièveté.

------JELQRFFQGTX4U6K3R4QEOIUBMMMW9V--