From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: plum.tunbury.org; dkim=pass (1024-bit key; unprotected) header.d=inria.fr header.i=@inria.fr header.a=rsa-sha256 header.s=dc header.b=JIkuFsgt; dkim-atps=neutral Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=192.134.164.83; helo=mail2-relais-roc.national.inria.fr; envelope-from=caml-list-owner@inria.fr; receiver=tunbury.org Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by plum.tunbury.org (Postfix) with ESMTP id A64364008C for ; Thu, 16 Jul 2026 16:58:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=mime-version:references:in-reply-to:from:date:message-id: to:subject:reply-to:sender:list-id:list-help: list-subscribe:list-unsubscribe:list-post:list-owner: list-archive; bh=yLodjEFoyjs7OxmRpVAKOat6iMc1mAfGVU29bvHXbkY=; b=JIkuFsgt1VI3/vawUM01khTxijKoFnmQl/Gw/4yIS6D2H4XQlCJxBcfk DGfnHoeq1ip6E70f6RJ/vn+XKAovTGKjqI+JMzKoNzWLE3ZT2C8LATUyS ur7ykLFYjTY3G6/FdQhV6K2rTd4k19OivC2fWjAJyDVb6VrvJoDVigBA9 A=; X-CSE-ConnectionGUID: 39gjvvh9SiWPYQVHdr+weg== X-CSE-MsgGUID: DYRU0v3fQ6CpbwSFA5iSTA== Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=caml-list-owner@inria.fr; spf=None smtp.helo=postmaster@prod-sympa-app.inria.fr Received-SPF: SoftFail (mail2-relais-roc.national.inria.fr: domain of caml-list-owner@inria.fr is inclined to not designate 128.93.162.27 as permitted sender) identity=mailfrom; client-ip=128.93.162.27; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="caml-list-owner@inria.fr"; x-conformance=spf_only; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:128.93.142.0/24 ip4:192.134.164.0/24 ip4:128.93.162.160 ip4:128.93.162.3 ip4:128.93.162.88 ip4:89.107.174.7 mx ~all" Received-SPF: None (mail2-relais-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@prod-sympa-app.inria.fr) identity=helo; client-ip=128.93.162.27; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="postmaster@prod-sympa-app.inria.fr"; x-conformance=spf_only X-IronPort-AV: E=Sophos;i="6.25,167,1779141600"; d="scan'208,217";a="286637613" Received: from prod-sympa-app.inria.fr ([128.93.162.27]) by mail2-relais-roc.national.inria.fr with ESMTP; 16 Jul 2026 18:58:45 +0200 Received: by prod-sympa-app.inria.fr (Postfix, from userid 990) id A270A81D1E; Thu, 16 Jul 2026 18:58:45 +0200 (CEST) Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by prod-sympa-app.inria.fr (Postfix) with ESMTP id E559281AFD for ; Thu, 16 Jul 2026 18:58:39 +0200 (CEST) X-CSE-ConnectionGUID: 0njhRA+HRi6Gl0ONhY+iCQ== X-CSE-MsgGUID: lCbjY0DFSYKrbLZCn+A6Ng== IronPort-SDR: 6a590dbf_Ce+d9c9j88m1PkwFChp+gTphec3r1H8uFcUoqBrm9SSgGL+ Jht7SvtugeSlg89TwPwOlKXHfSwJS7Oqq/ZVFOA== X-ThreatScanner-Verdict: Negative X-IPAS-Result: =?us-ascii?q?A0FYBAB4DFlqfC/gfUpahRp3cTQEC0mEWIEjji+CIQOLd?= =?us-ascii?q?4tNiBY9Ag8BAwENUQQBAQECBIR+Ao1SAh4HAQQ0EwECBAMCAwEBAQEBAQEBA?= =?us-ascii?q?QEBCwEBAQQBAQECAQECBAMBAQEBAhABASIZBw4SKYZPDYJbgSxhAgUDOwEBA?= =?us-ascii?q?QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQUCLF4BAQEBAgESE?= =?us-ascii?q?R0BGx4DAQsGBQsNKgICIQERAQUBHBkigmCCIwEGEAEDECcDsWCBAkKKQ3qBF?= =?us-ascii?q?QUCFoEBgg0G2mgKGSgNdYEKXAIHFoE3hHgqXYI+HwGBXwMOiAl6J4EYgRCBS?= =?us-ascii?q?oJ2PoN7hCOCagSCIoEMG4NZjVwmCAcXAwcHCQUECRMGBQUCPwkFAQ8SAwQDB?= =?us-ascii?q?AQBAgsJCgkDAwIOAggDAggGGQE/EgQTCg0LBwUfCgIMFAooIgQOKwoBAgFVM?= =?us-ascii?q?AEIBgICBAQCBAIKAgkCAgUHAhEDBAEBCAICAyoDAQMZCAkIAgsFERgMCwcxA?= =?us-ascii?q?xAJAwIdFxYFCBE0CAYWARoHBQYLASAWFAEFDBEBAhsCIQQdARAIAwEHAw4EB?= =?us-ascii?q?AIBCwMEHQQDAwUCAgkJBAwPAQoSFQMDCwMHDwINBxQFIAMCDgIJCAwXAgICB?= =?us-ascii?q?gIDAwMKAQIBAQEBAQEBCAMDAwIDGQcGAwMBAQMBBAQDAwIDBQEDAwMFAgIKB?= =?us-ascii?q?gkBAQEBAwICCAMHAwoJAgUDGwMgBgECAgMCAQIGBgMHAQoDBAIIBQMDBAIDA?= =?us-ascii?q?wMDAwMDBAECAgEBAQIDAQMDBAMBBgIBAwcCAgMDAwsBAgMDAwUDBQEFAwUCA?= =?us-ascii?q?gMFBQMFAgIKAgMDAwIBAwIcAwgDBgMSARADAwYBAwcDBwIEAwgEAwYCAwgDA?= =?us-ascii?q?wIJCAMWBgMDAwMFAQICAgMFAwMDCAgEAwMEAgIDDAIGAwMDAgMDBQMDBwIEA?= =?us-ascii?q?gMGAwMDAQMDBQECBwIDBwIBCwsIAwIEAgkHCQcBAgMLBAIEBgQNCQQCBAICD?= =?us-ascii?q?wQEBQMDBwEBAgECCAUGAwICEQUICgUGAgICHQMiAgEPBgEJBQIBBQ4HBQICC?= =?us-ascii?q?wYDBQYDBAcHAwcGAQEDAgYCBgIFAQMBCgELAQECAwMBBAUDAwUHAQIEAgcDA?= =?us-ascii?q?wMEAwMDAwEBAgIEBgQDAgMHAwMDAwMEBQUFAwIFAgQDBQMHAgMDAgEFCgEEB?= =?us-ascii?q?QQKAQMDAwMFBQMCAgMDBAECBAYDBAIDAQIIBAYFAwMDAwUCAwMCAgIDAwUBB?= =?us-ascii?q?QIDAwMEAwMDCAcFAwMFAgkDAwkDAwsCAgMgAwsJCBM9AQsHMgQ2ARQUBykhX?= =?us-ascii?q?41VI4J8FjsBG1Y/DE0OpBWOGZUXB4QgoXUzqmyZCKkyESQSgUkjgVxwUDGCN?= =?us-ascii?q?lADGQ+SI845RzI/BwIHDwKSBCOBTAEB?= IronPort-PHdr: A9a23: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 IronPort-Data: A9a23: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 IronPort-HdrOrdr: A9a23:VLvW4axeVSs7PXt1A5dAKrPxmOskLtp133Aq2lEZdPULSL3mqy n+poVm6farskdtZFgJgtqAOLaNTDf16PdOkN0s1GyZLV/bUQ6TR72KgrGSigEIcReRygdi79 Y5T0ETMqyFMbFat7ex3OFXe+xQleVu3siT9LnjJl1WPF5XgzkK1XYqNu6jencGFzWv7/ICZc uhD7N81mqdkBcsH7KG7xs+LqX+Tobw5cmWOyLvBnYcmUGzZFqTgdaRfnT4vmZ8IlE/uMZbgB O16X2Gl9SeWpeAu1jhPkDonslrcbDau59+7aK3+78oAwSpoiOUSL9Ee5mvg2sCoObH0idorD G4yC1Qc/iaohjqDy6ISZSB4Xij7B8er1/OjXuxvFHDyPaJCg7TNaB69MRkms2z0Tt2gDgQ6s 12NjWixtpq5Gj77W/AzumNbB1snle5uj4JmfIIgxVkIPgjQY4UloAZ9F5YC9M7FiTg5OkcYZ lTJfCZ3/pQeU6XdDTisnJxzMeKVnA+dy32A3Qqi4iv3z9fgXxji3EAzMh3pAZzyLsND6NJ7f jBOqRs0LFCJ/VmGJ6UD406MJKK44H2MHfx2XipUDPaPZBCAWvEr9rM6rMv6IiRCfg1JYUJ6f L8eWIdimY2e0/nFM2J29lB4nn2MSCAdAWozccb74Nyu73iSNPQQHG+dGw= X-Talos-CUID: 9a23:jvFddm5WXZJ+O5mPkdssrEgWGvoMMV3nzSn/JxefL2ZYC7y+cArF X-Talos-MUID: =?us-ascii?q?9a23=3AqdhCog8SAy7ihBdu7kUrRM2Qf8ND6aafUGwjqqQ?= =?us-ascii?q?locOgBwd2eB7DqjviFw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="6.25,167,1779141600"; d="scan'208,217";a="152242237" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown X-MGA-submission: =?us-ascii?q?MDEokXau9bJy63x53PevE1SceCWWgBCaYXJeDO?= =?us-ascii?q?Y/I8bQ6OLZeiWX16jLbPNXUtsh20nnhLZzVZISXN2YjbAMHCa0a1UWM9?= =?us-ascii?q?D3+wpJIYb30MQT9M1ZkJt46B8Aqu8QkFeCBB3ioFO4LmGEcwuII8o5ig?= =?us-ascii?q?JP688U+9+0s82l+tEgc9xmQA=3D=3D?= Received: from mail-yx1-f47.google.com ([74.125.224.47]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jul 2026 18:58:40 +0200 Received: by mail-yx1-f47.google.com with SMTP id 956f58d0204a3-667ef69424bso5785273d50.2 for ; Thu, 16 Jul 2026 09:58:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1784221118; cv=none; d=google.com; s=arc-20260327; b=XOfWMTNNDNSm+WAanGvKd4YMe6o5l/M5n/+f1zzy1duMNxleNwS4RiP44wszTt879L t1S+DPbr2T4vuUv+RUgBIl91+PlrWg+VOIbpAHv63BPr6xH70SedNnS3cBiyLlfADq3a tE6FIN7DicrmBouNkbhi+azWfSo0E4JJTbtZv7FzE2sOuUEmFwmfJyVEHR0IV3dAhbTc 0CY8S4hJrCKGSYFE7oCAF/PQ6N+D4Ln1+K/y6LbmQkOFXmrhOXWLcZZBwBjukzji4PmB StqJQb0Hom10cl/VXUzaUcvUxJqi0fpb4O+zUUILBmQFefYAZ2gfsXuT1k8TF3Z5qORj 9RKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=yLodjEFoyjs7OxmRpVAKOat6iMc1mAfGVU29bvHXbkY=; fh=KBq/LY/XJ4Huo2SZqj6ePBkTTJwNo5Ko96fq2X3IpMY=; b=slcRB6o7GV3/ShPDP8laxvQpb91JR1/qmWNWM7cbprtKX8AkVloPJvnVrt+2ELSOkj zocEH2jjkREmjMsrZQDQ344sw6LIoXnwKFNjhB1ragDamdkimSaF//itVaD0rWIh01L3 6bCukzD4O5WnPHHgfwsR9B/ZVFoTmapZor9MYkIN4gQ3woi8lJYqjHAcVfNnmUBPBvTU p7ONoTkgrdw0SsLV9mw/n/P8xf8I/h0oT7bJ/IbKWGwYeQZ7vp5pyarI8OCJOWtYHkix Fpy7coy7gAvIcsz0Y3546Zgv9VnMtWf+ewkaXqj90TcRu8+meUZunWCyg6yO2OvmYZok vRfQ==; darn=inria.fr ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784221118; x=1784825918; h=content-type:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=yLodjEFoyjs7OxmRpVAKOat6iMc1mAfGVU29bvHXbkY=; b=C7jQf7IN4f941A+vB2YoLiHsdPZRIZLKmFH2XBv8QYT66foyw17HsoGtz35Xzb7r7B AD+9mvK1g412bxZsz5fDA/5IddiMtWgcw71jP2F6LkfwZmvvygW+zlN5qhOo3zAdkb2y ZXj10XDfK8dyLZdsoe22P+3+YQ4nd3pGnEU3hkCw9IG3LJzyP+UzxRN2UV9Y5DN49kh4 uIzv2vIN2//8yfThMrX5+21jrkcQlqBWeh/c71V5fWNe1tDcxuikeiKrb4ILBQH0MXCJ g8x9k0FkDuGOdJERj+Sac2guVWWq39PwlmYxN7pM0UEC2wGisAAwN3tYEsGz3/0eiNfD HXBQ== X-Gm-Message-State: AOJu0YytLH2rphGeqo+rZ7Dh34RIJKpU4PFvLfZzngGkq6lD1s5DCMOr UiFq4XWntdhlo93PaN+1JKf3d8hY05/Jk0tzro5qnTMzrJy8LOKGpO3FyAPekCqxSgUiLS/PvQ5 pSbT1cMs0F/bvs01HJrqk9UlcasWATS/Siw== X-Gm-Gg: AfdE7clf57L/lLNIj3hwPGlUqzuJobXxlH35ruXLEWa26w9Y3bV/ylelIKpAW1AgrFj 7McAyBjc0pq5/e4DDrdibpKnrKB1wtzWADUEO5SLHMUSU0v6xzXndUHhWWxmVG621DhtecMMrQK k6d6GTwqXmY70OFClFn7grYAyPwFkZK837LK6FADu/3b9yynZ0/p4U5bSB8eUZrUjYoTsITicap HVv4mSnQePncuz9StGMATVG88Xb1kijp5cox5MjVDSGgrYLsNP550BmOwO8oq+B1pLh67VoO6TY 2Yo2N6B0Wim8Z144c2loZJXRM1VHNH5uld0de8VW6eCRx8ja/KZU/oCY9Lj5XfuCVOZ+idwQmmK 0 X-Received: by 2002:a05:690e:2503:20b0:668:2553:a190 with SMTP id 956f58d0204a3-6682553b374mr2796028d50.23.1784221117507; Thu, 16 Jul 2026 09:58:37 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: K Date: Thu, 16 Jul 2026 18:48:19 +0000 X-Gm-Features: AUfX_mxjWjt9yTJInbwpzKg_TOm0j9UxujRHPcXVoNF3nV5d36YdthiwGjCRNmY Message-ID: To: caml-list@inria.fr Content-Type: multipart/alternative; boundary="000000000000e8ee600656bd598f" Subject: Re: [Caml-list] module dependency question Reply-To: K X-Loop: caml-list@inria.fr X-Sequence: 19550 Errors-To: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: Archived-At: --000000000000e8ee600656bd598f Content-Type: text/plain; charset="UTF-8" I shouldn't have put it that way! I am deriving signatures from the typed AST so am using the Env.find_xxx functions and thus indirectly accessing the signature files. nonetheless, it seems that, for my purposes, if an externally defined type is used in a module but its structure remains 'unexamined' throughout that module, ie. treated abstractly, it is not a meaningful dependency and I don't need to know anything more about it. unfortunately an awkward example has occurred to me: let v= fst@@ M.f() here the structure of N.t is being revealed but fst being a polymorphic function means I still have to go to the typexpr to know that the N.t is involved, which is where I find a Path.t, that it is global, and can make the appropriate Env.find to compose a signature item. So there is no typed AST variant term here to garner the Path.t - as far as I can see, that N.t is being de-composed has to be detected and then the typexpr of 'fst @@ ...' has to be consulted in order to know whether a global Path.t is involved. this complicates matters for me. after all there could be any number of tuple decomposing functions defined, and what else?! so I think I need a general way to determine 'is this type being decomposed in some way', whether it is by tuple projection, record label, variant name etc... by the way, why is there no Env.find_extension_constructor function? I'm sure there's a very good reason (never possible to fully define?) :) thanks. On Thu, 16 Jul 2026 at 13:34, Florian Angeletti wrote: > What is the motivation for adding the constraint of not opening any other > files? > You will need to open the interface of M to discover its dependencies at > one point or another. > > On 16/07/2026 at 17:19, K wrote : > > Is iterating over the typexpr the right or reasonable way of uncovering > that transitive dependency (on type N.t specifically rather than on the > module N in its entirety) without recourse to opening any other file? > > On Thu, 16 Jul 2026 at 13:07, Florian Angeletti > wrote: > >> In your example, `N` will be a dependency of `M` and thus a transitive >> dependency of the current module. >> > > --000000000000e8ee600656bd598f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I shouldn't have put it that way! I am deriving s= ignatures from the typed AST so am using the Env.find_xxx
functio= ns and thus indirectly accessing the signature files.
nonetheless= , it seems that, for my purposes, if an externally defined type is used in = a module but its structure remains 'unexamined' throughout that mod= ule, ie. treated abstractly, it is not a meaningful dependency and I don= 9;t need to know anything more about it.
unfortunately an awkward= example has occurred to me:

let v=3D fst@@ M.f()<= /div>

here the structure of N.t is being revealed but fs= t being a polymorphic function means I still have to go to the typexpr
to know that the N.t is involved, which is where I find a Path.t, tha= t it is global, and can make the appropriate Env.find to compose a signatur= e item. So there is no typed AST variant term here to garner the Path.t - a= s far as I can see,
that N.t is being de-composed has to be detec= ted and then the typexpr of 'fst=C2=A0@@ ...'=C2=A0 has to be consu= lted in order to
know whether a global Path.t is involved. this c= omplicates matters for me. after all there could be any number of tuple
decomposing functions defined, and what else?!=C2=A0
so I = think I need a general way to determine 'is this type being decomposed = in some way', whether it is by tuple projection, record label, variant = name etc...

by the way, why is there no Env.find_e= xtension_constructor function?
I'm sure there's a very go= od reason (never possible to fully define?) :)

tha= nks.




On Thu, 16 Jul 2026 at 13:34, Florian Angeletti <florian.angeletti@inria.fr> wrote:
=20 =20 =20
What is the motivation for adding the constraint of not opening any other files?
You will need to open the interface of M to discover its dependencies at one point or another.

On 16/07/2026 at 17:19, K wrote :
=20
Is iterating over the typexpr the right or reasonable way of uncovering that transitive dependency (on type N.t specifically rather than on the module N in its entirety) without recourse to opening any other file?

On Thu, 16 Jul 2026 at 13:07, Florian Angeletti <octa@polychoron.fr> wrote:
In your example, `N` will be a dependency of `M` and thus a transitive
dependency of the current module.

--000000000000e8ee600656bd598f--