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 062E58021A for ; Sat, 23 Sep 2017 23:04:10 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=markus.mottl@gmail.com; spf=Pass smtp.mailfrom=markus.mottl@gmail.com; spf=None smtp.helo=postmaster@mail-vk0-f42.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of markus.mottl@gmail.com) identity=pra; client-ip=209.85.213.42; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="markus.mottl@gmail.com"; x-sender="markus.mottl@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of markus.mottl@gmail.com designates 209.85.213.42 as permitted sender) identity=mailfrom; client-ip=209.85.213.42; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="markus.mottl@gmail.com"; x-sender="markus.mottl@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-vk0-f42.google.com) identity=helo; client-ip=209.85.213.42; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="markus.mottl@gmail.com"; x-sender="postmaster@mail-vk0-f42.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3A92Y0JB89xokekf9uRHKM819IXTAuvvDOBiVQ1KB9?= =?us-ascii?q?0+0cTK2v8tzYMVDF4r011RmSAtWdtqoMotGVmp6jcFRI2YyGvnEGfc4EfD4+ou?= =?us-ascii?q?JSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47WLmffqXyq7DMUBg63dU8s?= =?us-ascii?q?fry0ScbuiJGc1/qz4IHUewVFzAC0b717KBG35VHattMXmpdlMqY84gHArHVBf+?= =?us-ascii?q?BXg251cwG9hRH5s+K55p1+6Gx1vO4984YUVKzgfLkjC7lfECgiG28w7czv8xLE?= =?us-ascii?q?SF3ctTMnTmwKn08QUED+5xbgU8K063Oiuw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0B/BADcysZZhyrVVdFCGhwBAQQBAQoBA?= =?us-ascii?q?RYBAQEDAQEBCQEBAYNUAT5uJweDb5oagXaWKoISCiOFFAICAoQdB0EWAQEBAQE?= =?us-ascii?q?BAQEBAQESAQEBCA0JCCgvgjMFAR4BBYI8AQIDIwQZARQHHQEDDAYFCw0CAiYCA?= =?us-ascii?q?iEBAREBBQEcBhOKGgEDFRAymwlAjAuBbRgFARyDCgWDVwoZJw1XgwEBAQEBAQE?= =?us-ascii?q?EAQEBAQEbAgYSfIIdggKBUYUPgl5ThGWCYAWgYzyCLoUviAaEeZMGjGaITBQFH?= =?us-ascii?q?4EVJgWBOjIhJV4ahHEfgg8kNgGGVIFUAQEB?= X-IPAS-Result: =?us-ascii?q?A0B/BADcysZZhyrVVdFCGhwBAQQBAQoBARYBAQEDAQEBCQE?= =?us-ascii?q?BAYNUAT5uJweDb5oagXaWKoISCiOFFAICAoQdB0EWAQEBAQEBAQEBAQESAQEBC?= =?us-ascii?q?A0JCCgvgjMFAR4BBYI8AQIDIwQZARQHHQEDDAYFCw0CAiYCAiEBAREBBQEcBhO?= =?us-ascii?q?KGgEDFRAymwlAjAuBbRgFARyDCgWDVwoZJw1XgwEBAQEBAQEEAQEBAQEbAgYSf?= =?us-ascii?q?IIdggKBUYUPgl5ThGWCYAWgYzyCLoUviAaEeZMGjGaITBQFH4EVJgWBOjIhJV4?= =?us-ascii?q?ahHEfgg8kNgGGVIFUAQEB?= X-IronPort-AV: E=Sophos;i="5.42,430,1500933600"; d="scan'208";a="238500171" Received: from mail-vk0-f42.google.com ([209.85.213.42]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 23 Sep 2017 23:04:08 +0200 Received: by mail-vk0-f42.google.com with SMTP id w23so2046651vkw.2 for ; Sat, 23 Sep 2017 14:04:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=UuUmy05cPAnsupoN30OTCYALO33hshlcJVUwm8B1Bgc=; b=Hn/BKXbUwW4DaPFecKW6lDCxzUYNznQOGn/lUtRRJqEt+aJtK/46cIRSZQLAFhijnw DHL5bsj+tMsDKQTKE65s6Df3YFF980BCvIQnoV9QmxRnABNuNwcMiWNMgkoIQhwByVeO uu4IWkdNr7uZoJCOIIcHy3O9pMG54Hsz9ODxKYyPyhKpXvmsRroErt4lmGUC5yKENeVc ZRmZ90KMQd6I+3X70j7hTu1069XQwPEnPL1wajOP3YICP/GkOhOECOeaGwJVorT2XFZG Vm/nIRBJzQYLE5q3HCtfB7GrTv+1SmEAlE00F+3CDNGIGqJc94u1paeFgxOaINJH0/PF t6lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=UuUmy05cPAnsupoN30OTCYALO33hshlcJVUwm8B1Bgc=; b=A8rS15yRwrZ8n1jwYOq4GrIPdvaHhlbccQJpYgh6zVWkHV63ztAL3vpb0U4hnrWP4q tRFm5k1hvvi8DJlGqy4Rm5U0Nsx0onanZTOYnQpue7FAJ/c0zYVUIgbgHfYY5kk0Cr8S C4PQAIoNXfrL4YoQfzKeGVhtQ/86D62CJORCAYJjPUMP04F6Fkg7JEYPrnuRdKFDeHag RT2kpwpShRPWs0hT75/WV8JH05PZ9fj5LcSpvm5LslzXltc4on04Wk96qgmyVRFoV3vy d+41jsG9WYgUD5sasHLp1IEujNj9XhIl33qgN7amDXMFJtPYJxgn6bfZ7/nL4Qaa8x06 Mw0g== X-Gm-Message-State: AHPjjUjmmD0+lOo8CeK3qBTVuEOU5lDB0CQtV+Z5YUbak35NSijU4H0S C3u30VCbMWXFn0TepoXzQBLU8rzal0Mq0Wwt4Ve5l7EM X-Google-Smtp-Source: AOwi7QDVWuozb1uTTKzRFgI2NA5RX+eQzqvZ7YQCVk9vW8gP2VPT8r7B0vEjmsW0Lp2CupR+sKQaWJDrwv77/qivnTU= X-Received: by 10.31.132.195 with SMTP id g186mr2775128vkd.54.1506200647414; Sat, 23 Sep 2017 14:04:07 -0700 (PDT) MIME-Version: 1.0 Received: by 10.176.95.136 with HTTP; Sat, 23 Sep 2017 14:04:06 -0700 (PDT) In-Reply-To: <20170923174705.wkdryyzkixlroqdw@delli7.univ-savoie.fr> References: <20170923174705.wkdryyzkixlroqdw@delli7.univ-savoie.fr> From: Markus Mottl Date: Sat, 23 Sep 2017 17:04:06 -0400 Message-ID: To: Christophe Raffalli Cc: "caml-list@inria.fr" Content-Type: text/plain; charset="UTF-8" Subject: Re: [Caml-list] problem with generalisation Hi Christophe, the following definition of "promote" works for me: let promote (type a) (f : a -> unit) : a iter = { f } It seems that making the type variable locally existential within the body of "promote" helps the compiler make the correct inference. Using a universally quantified 'a instead won't work. Regards, Markus On Sat, Sep 23, 2017 at 1:47 PM, Christophe Raffalli wrote: > Hello, > > I am blocked by this case not working (I reported on Mantis ... > https://caml.inria.fr/mantis/view.php?id=7636) > > Any hint on how to make it works, apart fomr Obj.magic ? > > I can not change the types, they come from a functor. > > ==================================================== > type ('a, 'b) elt = 'a > > type 'a iter = { f : 'b.('a, 'b) elt -> unit } > > let promote f : 'a -> unit = > let f : 'b.('a, 'b) elt -> unit = fun x -> f x in > { f } > ==================================================== > > Cheers, > Christophe -- Markus Mottl http://www.ocaml.info markus.mottl@gmail.com