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 AC9917FF50 for ; Mon, 8 Aug 2016 16:35:49 +0200 (CEST) IronPort-PHdr: 9a23:tz9brRPK5SHKGEnTHucl6mtUPXoX/o7sNwtQ0KIMzox0KPv9rarrMEGX3/hxlliBBdydsKMczbuO+P+8EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6anHS+4HYoFwnlMkItf6KuS9aU3pz8iLz60qaQSj0AvCC6b7J2IUf+hiTqne5Sv7FfLL0swADCuHpCdrce72ppIVWOg0S0vZ/or9ZLuh5dsPM59sNGTb6yP+FhFeQZX3waNDUa49b0tB+LUwyJrlEGX2kbiB5PHECR4xbhQZb39zW/vMJi1SPcMcCgHp4uXjH3yq5vQxjsjW8iPiIw9GLewph1iatHqRairjRwxofVZMeeM/8oLfCVRs8TWWcUBpUZbCdGGI7pKtJXV+c= Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=mmatalka@gmail.com; spf=Pass smtp.mailfrom=mmatalka@gmail.com; spf=None smtp.helo=postmaster@mail-wm0-f44.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of mmatalka@gmail.com) identity=pra; client-ip=74.125.82.44; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="mmatalka@gmail.com"; x-sender="mmatalka@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of mmatalka@gmail.com designates 74.125.82.44 as permitted sender) identity=mailfrom; client-ip=74.125.82.44; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="mmatalka@gmail.com"; x-sender="mmatalka@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-wm0-f44.google.com) identity=helo; client-ip=74.125.82.44; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="mmatalka@gmail.com"; x-sender="postmaster@mail-wm0-f44.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0B3AAD9l6hXhixSfUpdhBt8uROBfRyGAQKBOjgUAQEBAQEBAQERAQEBCAsLCRkvgjIEARMBghMBAQQBEhUZARsdAQMBCwYFCw0JJQ8BBA0CEQEFASITIod0AQMPCASkQYEyPjGNJYJbBYY9ChknDRU/g2MBAQEBAQEEAQEBAQEBARgCBhCED4ILhE2CQ4FahX4FmQU0hh2GMoI7iUeFfEiHZYQHgjgxgQ8eglmBV26GG4FEAQEB X-IPAS-Result: A0B3AAD9l6hXhixSfUpdhBt8uROBfRyGAQKBOjgUAQEBAQEBAQERAQEBCAsLCRkvgjIEARMBghMBAQQBEhUZARsdAQMBCwYFCw0JJQ8BBA0CEQEFASITIod0AQMPCASkQYEyPjGNJYJbBYY9ChknDRU/g2MBAQEBAQEEAQEBAQEBARgCBhCED4ILhE2CQ4FahX4FmQU0hh2GMoI7iUeFfEiHZYQHgjgxgQ8eglmBV26GG4FEAQEB X-IronPort-AV: E=Sophos;i="5.28,490,1464645600"; d="scan'208";a="187193385" Received: from mail-wm0-f44.google.com ([74.125.82.44]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 08 Aug 2016 16:35:48 +0200 Received: by mail-wm0-f44.google.com with SMTP id f65so121521650wmi.0 for ; Mon, 08 Aug 2016 07:35:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=e6/wdF/vYirPz85wyMAznYY5q1eB1aLh2v+GNrH8CUs=; b=ERO2Nu4q1cxckMBigaoCGEvl/coqCEYqeNa5BTaeTgfNgHQNvfkM4nSFKDLT8G2/F+ 9patD6hv6ZT+XA4GzOwLwmNIH2ykOKGpPyhpz2NSkHXQV3K5rWhvEgBYC9BLEAuJlh4X ahDLwLBmeVg3pGmMTOHk0/N+5JB1CK2hqRn4fKHoeib6YOaxfytAtoo2AG7KINWXe6Ae xRhPm7j8A6nsb6NVuPIHBIpNqXFlGNamO1JyYV3CYHOqYBIDORygRAPu5nkYaAxG2vEs Ew1pCnPafBx3Kr5Z9IEamL++tahaOh8/4/JLAwy89MKVPkwLavEXXIxzYyjU8MJapzQV xq1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=e6/wdF/vYirPz85wyMAznYY5q1eB1aLh2v+GNrH8CUs=; b=VsHxDyPQgr1ayPdThmHirZVYDd89Ep69mBi55jev6xlqfcFQJSLmd1z2utqTPrkDWv VoZR5PoF2Kjah+OE1mmsUrS2r7lurMbpGUptcfrcTMtLggGU9xLHPAzNhH76rb5hg0xY 3zHl7zUqXQwbaKGjo1Sy+fqJCtrit/71M9tIPnQKT2mvkmivWWCFwA1gKvKmPLEwAUrS WH3URM3sS1XspZAMh7PFnyvKC6vzREsLYRuRGBB4Lt+/fs3y4kbfhr37GKfvd5JHsQN+ eeDkQY4/LAnQDz5N3sRzNDTonrYyTV3xJmBL6nQE0kGjPi9WXy17zQHgwNvteH4/k2FB cj1g== X-Gm-Message-State: AEkoouvPw+ph/3+06xVT9Vq3UUZZef1w7xEZ2LgRoTBgnS7cP5k+mwFLNR7ZAn3+pNOu3g== X-Received: by 10.28.95.67 with SMTP id t64mr15486963wmb.99.1470666947711; Mon, 08 Aug 2016 07:35:47 -0700 (PDT) Received: from localhost ([37.153.108.22]) by smtp.gmail.com with ESMTPSA id p4sm33212812wjq.27.2016.08.08.07.35.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Aug 2016 07:35:45 -0700 (PDT) From: Malcolm Matalka To: Goswin von Brederlow Cc: Christopher Zimmermann , caml-list@inria.fr References: <86a8h77ziv.fsf@gmail.com> <20160724211726.71ac2036@mortimer.gmerlin.de> <8660ru83s2.fsf@gmail.com> <20160808100635.GB11261@frosties> Date: Mon, 08 Aug 2016 14:35:45 +0000 In-Reply-To: <20160808100635.GB11261@frosties> (Goswin von Brederlow's message of "Mon, 8 Aug 2016 12:06:36 +0200") Message-ID: <86popjib0e.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Caml-list] 'b t doesn't equal '_b t? Goswin von Brederlow writes: > On Mon, Jul 25, 2016 at 09:29:01AM +0000, Malcolm Matalka wrote: >> Christopher Zimmermann writes: >> >> > '_b t is just not polymorphic. It just means the compiler could not yet >> > figure out the monomorphic type of '_b. It will be bound to a >> > monomorphic type later on. >> >> How does one track down and why this is happening? I tried adding some >> typo annotations, but no luck. Maybe I didn't add them in the right >> place or I added the wrong annotations? >> >> Any tips for handling this situation? >> >> > >> > >> > On 2016-07-24 Malcolm Matalka wrote: >> >> I have the following error and I don't understand what the compiler is >> >> trying to tell me. Any hints? >> >> >> >> Error: The implementation abb_fut.ml >> >> does not match the interface abb_fut.cmi: >> >> Values do not match: >> >> val bind : 'a t -> ('a -> '_b t) -> '_b t >> >> is not included in >> >> val bind : 'a t -> ('a -> 'b t) -> 'b t >> >> File "abb_fut.ml", line 118, characters 4-8: Actual declaration >> >> > > You can not annotate a function to be more polymorphic, only less. > It's basically just a lower limit. So if you annotate a type as "'a t" > that means the type must be some t, but 'a can still be infered to be > not prolymorphic. This makes it hard to find cases where the infering > gets too specific for your taste. I managed to find it by adding some polymorphic type annotations and then the compiler directed me to the offending line that violated that annotation. > > MfG > Goswin