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 07DDB7F919 for ; Thu, 19 May 2016 12:13:14 +0200 (CEST) IronPort-PHdr: 9a23:KT0cEhT5cp28DOYtYOMnJNL6zdpsv+yvbD5Q0YIujvd0So/mwa64YxCN2/xhgRfzUJnB7Loc0qyN4/GmAjZLu87JmUtBWaIPfidNsd8RkQ0kDZzNImzAB9muURYHGt9fXkRu5XCxPBsdMs//Y1rPvi/6tmZKSV3BPAZ4bt74BpTVx5zukbviqtuIOU4S3HKUWvBbElaflU3prM4YgI9veO4a6yDihT92QdlQ3n5iPlmJnhzxtY+a9Z9n9DlM6bp6r5YTGY2zRakzTKRZATI6KCh1oZSz7ViQBTeIs0MdX3kMlVJhCQHZ4VmuRpb8rjH98ON30TWXFczwV7E9Hzq4ufRFUhjt3QUKLTM84Snmg8h0i7oT9AOooxh426bbZYiUMLx1eaaLLoBSfnZIQssED38JOYi7dYZaSrNZZes= Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=yallop@gmail.com; spf=Pass smtp.mailfrom=yallop@gmail.com; spf=None smtp.helo=postmaster@mail-qk0-f182.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of yallop@gmail.com) identity=pra; client-ip=209.85.220.182; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="yallop@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of yallop@gmail.com designates 209.85.220.182 as permitted sender) identity=mailfrom; client-ip=209.85.220.182; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="yallop@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-qk0-f182.google.com) identity=helo; client-ip=209.85.220.182; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="postmaster@mail-qk0-f182.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BnAABFkT1Xf7bcVdFehQsGrm+JAYIPAQ2BdYYRAoEuBzgUAQEBAQEBAQERAQEJCwsJIS+CLYIWAQEEEhEdARsdAQMMBgULDQICJgICIgERAQUBHAYTIodyAQMXpB2BMT4xizuBaoJYBYggChknDVKDXgEBAQEGAQEBARsCBhBxiXGHP4JZBZgxjiCBU41HjgoSHoEPHgEBgjsNHIFMOzKIBgEBAQ X-IPAS-Result: A0BnAABFkT1Xf7bcVdFehQsGrm+JAYIPAQ2BdYYRAoEuBzgUAQEBAQEBAQERAQEJCwsJIS+CLYIWAQEEEhEdARsdAQMMBgULDQICJgICIgERAQUBHAYTIodyAQMXpB2BMT4xizuBaoJYBYggChknDVKDXgEBAQEGAQEBARsCBhBxiXGHP4JZBZgxjiCBU41HjgoSHoEPHgEBgjsNHIFMOzKIBgEBAQ X-IronPort-AV: E=Sophos;i="5.26,334,1459807200"; d="scan'208";a="218881905" Received: from mail-qk0-f182.google.com ([209.85.220.182]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 19 May 2016 12:13:13 +0200 Received: by mail-qk0-f182.google.com with SMTP id n63so44950430qkf.0; Thu, 19 May 2016 03:13:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=ahS1EYVcWqlW4Uohbguh8od1JAWGPzEY61W8vm21Pnc=; b=dFW6aZE3dMqg/+zXbHm1p95Jcfo7IwNu2sVsmMfrH4mfnhJFR3WKv+YzentwiJ5NOd Pp96QkzxR5Afmpkl+sSKs/aIyjo4HgVwmyRt3TUEEXJfUU2r42qfXqPj1TOCRvm6Y1Tb QCNrE8B3JmUzTIP6vW5q4zazoJb8GYacU/eiFtD2Ba2Twv/rOytPLTurce4v6MSMP3cf p1e5t7ck3SPedpQ4n69E2d4IGf8zzWA0Y4gaWjnl3h/FbsOe5T6nQBKyz8/VW3ZgXem/ k+Xrz4W+yC8V+dibedUGldSc/ci/CoOzWcUwmolKLl4jqcrmDzgZ13Q2tYzHPkLdrNfn JPPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=ahS1EYVcWqlW4Uohbguh8od1JAWGPzEY61W8vm21Pnc=; b=JQyLPxu/vuzedkc55GBaldDrCNqefz7qES8s0CesxOzYadDRhL9Vr/uNaAmPdV007j soiJqWgDlQrBlZibIF1uPGuXt3jNnhDu9yTUQ9KhscJTGc38sbmAkDkzDtnaoWplmECt NBpHAxPbJy3E6dDUM16vstnk7Cmtuw9gKHsdsHjoF0eLcHVcUuVgScQ0KBgEkOL/XOeF IGH3We2kD0bSZPr271KLmaJG+Yq6vwUXDsVRcImP1wIEF6mTljwM3LyZNCwVnNdfLir5 6GtpmcNMS3wXMIz9hpkzvbYE1vdpOBelIZSbz+Cf0/3EHelrKk4rvXBnu/v4oEB3sbyk 3bow== X-Gm-Message-State: AOPr4FVhRvTYlZRmIFkvThUN0QHhyzCu8eNd3RDEWBNG4zJJ0/d4NmEExZXa6srZlBQuxqAyPKFeaAAHeSO4zw== MIME-Version: 1.0 X-Received: by 10.55.136.197 with SMTP id k188mr1554923qkd.33.1463652792457; Thu, 19 May 2016 03:13:12 -0700 (PDT) Received: by 10.55.85.7 with HTTP; Thu, 19 May 2016 03:13:12 -0700 (PDT) In-Reply-To: <20160519095135.GA18204@pps.univ-paris-diderot.fr> References: <20160519095135.GA18204@pps.univ-paris-diderot.fr> Date: Thu, 19 May 2016 11:13:12 +0100 Message-ID: From: Jeremy Yallop To: Pietro Abate Cc: Caml List Content-Type: text/plain; charset=UTF-8 Subject: Re: [Caml-list] small GADT problem On 19 May 2016 at 10:51, Pietro Abate wrote: > I fail to understand why in this simple example below I get a warning. > Why the type annotations are not enough to convince the compiler that > the method vartoint cannot accept anything else then UID.a ? > > module UID = struct > > type a > type b > type c The types 'a', 'b' and 'c' are abstract, so the type checker doesn't know that they are not equal. If you give them representations, like this type a = A type b = B type c = C then the fact that they are distinct will become visible to the type checker and you'll no longer see the warning.