From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 5591982355 for ; Wed, 29 Nov 2017 14:19:48 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=ssp.mryau@gmail.com; spf=Pass smtp.mailfrom=ssp.mryau@gmail.com; spf=None smtp.helo=postmaster@mail-qt0-f171.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of ssp.mryau@gmail.com) identity=pra; client-ip=209.85.216.171; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="ssp.mryau@gmail.com"; x-sender="ssp.mryau@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of ssp.mryau@gmail.com designates 209.85.216.171 as permitted sender) identity=mailfrom; client-ip=209.85.216.171; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="ssp.mryau@gmail.com"; x-sender="ssp.mryau@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-qt0-f171.google.com) identity=helo; client-ip=209.85.216.171; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="ssp.mryau@gmail.com"; x-sender="postmaster@mail-qt0-f171.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AQxHVChYENxtDTNXcz9tE7DD/LSx+4OfEezUN459i?= =?us-ascii?q?sYplN5qZpsWzbnLW6fgltlLVR4KTs6sC0LWG9f24EUU7or+/81k6OKRWUBEEjc?= =?us-ascii?q?hE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i76xXcoFx7+LQt4?= =?us-ascii?q?IPjuUs6X1pzvlrP6x5qGRC5BgT71RLpzKBSwok31t9IKyd9pI6M1jx/IuWdgeu?= =?us-ascii?q?JMxGouK0jFzDjm4cLlx5N5/CkYgPM/9MleGfHhZLx+SKZJBSkOPGU85cmtvh7G?= =?us-ascii?q?G1jcrkAAW3kbx0IbSzPO6wv3C9Ko6nP3?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BSBACZsh5ahqvYVdFcHAEBARwBAQUBA?= =?us-ascii?q?YR9JweDeIE2l29GBosOjygKBYo+B0MUAQEBAQEBAQEBARIBAQEICwsIKC+COAU?= =?us-ascii?q?BHgEFgjQzHQEbHgMSCAEHNwIkAREBBQEWDIocAQMIDZcMg0VAjBCCBQUBHIMKB?= =?us-ascii?q?YNbChknDViCeAIGEoMvggmBDoVciDSCYwWKQYhLj0GVDoQTjz6WLhQFH4EWNoF?= =?us-ascii?q?zMhojgQGBd4JigXo6NogygVgBAQE?= X-IPAS-Result: =?us-ascii?q?A0BSBACZsh5ahqvYVdFcHAEBARwBAQUBAYR9JweDeIE2l29?= =?us-ascii?q?GBosOjygKBYo+B0MUAQEBAQEBAQEBARIBAQEICwsIKC+COAUBHgEFgjQzHQEbH?= =?us-ascii?q?gMSCAEHNwIkAREBBQEWDIocAQMIDZcMg0VAjBCCBQUBHIMKBYNbChknDViCeAI?= =?us-ascii?q?GEoMvggmBDoVciDSCYwWKQYhLj0GVDoQTjz6WLhQFH4EWNoFzMhojgQGBd4Jig?= =?us-ascii?q?Xo6NogygVgBAQE?= X-IronPort-AV: E=Sophos;i="5.44,473,1505772000"; d="scan'208,217";a="303169744" Received: from mail-qt0-f171.google.com ([209.85.216.171]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 29 Nov 2017 14:19:47 +0100 Received: by mail-qt0-f171.google.com with SMTP id j5so4190537qth.11 for ; Wed, 29 Nov 2017 05:19:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=pVjyi+Zdqi0Q15i+8alvvYJvQTIpxDA917CQoF7bG8I=; b=bXRZr1MpFukKpC3BtN8hVl8BiC8YefZ6tlFx7iOrKtSquF3xOiLiiEBkyOBD6p57nU UHh+XxyW9Yg2nXQAPGOeeAzeP1sZGbHqN0HQBwAK5AOAUkibqaVnbzjn8ZfZUGHzpOOF /VzgIcbsVhB3ECSm/hvZeUSfq4n637B4sURvWulIwAAEBROU41a9OOWhZ2PCJm2OPFSV JW7XiLWBLQL9KNrlzWcTe3JAulalhmMzFwGvwVjq6LiFE/2dHyJEQXiXwrLxtFso2BPV 3WndYWKgK7a/KeqKfTauU5WrMgYfZAU2dDCl8KYVc1puc6+ZS2zoDxHLmI06Rg9POrEK Tbvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=pVjyi+Zdqi0Q15i+8alvvYJvQTIpxDA917CQoF7bG8I=; b=TzonAmQ000SMMqfKZ9M7cUbzupJTCsuOIE/EtidDKxJ6s/YEudh04v1RSTJ8ggZ7xI CSqHc9AASFbrxcPewQAX7R3f7191TWXfoHECuXZUReyv+YaeNBQJu89jLC5NimiSt36c 4NOOptFzo5hzKLkZt4YIH36AUvK/G8DWyJdmMuBZQwzvUq5o2LtWYfrRDwlwGnENlDm2 SZFO/jP5pyjU7rXKZHBtkpG9dWy1K1Ije9Vm5ehbXJTXB/4xEBQx/GLvPp77p+dUtyaL er90VZoH9gyfNEoTzDbo28EnkYO/YIZKxNHy08o1V5JWY7IQyRcEOViKOC03TLnjPAkz NVQw== X-Gm-Message-State: AJaThX4DaOd7gZZJwX5QvlXCVaRm7FkhZv1qB/MB1ReHJUaJDjzMyiLy Oh+rR9OGY4wW//WRJh8XCYKKRJ1YjXwnJxo3E60cWA== X-Google-Smtp-Source: AGs4zMbsVbxFCmXlBry4NrzldeMo86WeYlPhic8c7Fzc1fJBVyhWvROnnxzXqJPreKySFiOY4NmEl7r1e30QV+ZKtyo= X-Received: by 10.200.57.39 with SMTP id s36mr4467340qtb.208.1511961586105; Wed, 29 Nov 2017 05:19:46 -0800 (PST) MIME-Version: 1.0 Received: by 10.140.40.209 with HTTP; Wed, 29 Nov 2017 05:19:45 -0800 (PST) From: Serge Sivkov Date: Wed, 29 Nov 2017 18:19:45 +0500 Message-ID: To: OCaml Mailing List Content-Type: multipart/alternative; boundary="001a114540f8410225055f1efd2f" Subject: [Caml-list] recursive module definition --001a114540f8410225055f1efd2f Content-Type: text/plain; charset="UTF-8" Hello, I have yet another question: what idea stays belong the fact that code works (OCaml 4.04) module M = struct let f v = v+1 module MM = struct let ff (module R: I) v = R.f v end let t v = MM.ff (module M: I) 0 end;; and that code does not compile module T = struct let f ff = ff (module T: I) 0 end;; ? I understand why second script is wrong but why the first script works? WBR, ssp --001a114540f8410225055f1efd2f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello,

I have yet another question:
what idea stays belong the fact that code works (OCaml 4.04)

module M =3D struct
let f v =3D v+1
<= div>module MM =3D struct
let ff (module R: I) v =3D R.f v
end
let t v =3D MM.ff (module M: I) 0
end;;

and that code does not compile

module T =3D struct
let f ff =3D ff (module T: I) 0
end;;

?

I und= erstand why second script is wrong but why the first script works?

WBR, ssp
--001a114540f8410225055f1efd2f--