Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
* Re: [Caml-list] module dependency question
  2026-07-16 14:53 [Caml-list] module dependency question K
@ 2026-07-16 13:07 ` Florian Angeletti
  2026-07-16 15:19   ` K
  0 siblings, 1 reply; 4+ messages in thread
From: Florian Angeletti @ 2026-07-16 13:07 UTC (permalink / raw)
  To: caml-list

In your example, `N` will be a dependency of `M` and thus a transitive 
dependency of the current module.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Caml-list] module dependency question
  2026-07-16 15:19   ` K
@ 2026-07-16 13:34     ` Florian Angeletti
  0 siblings, 0 replies; 4+ messages in thread
From: Florian Angeletti @ 2026-07-16 13:34 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 648 bytes --]

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 <octa@polychoron.fr> 
> wrote:
>
>     In your example, `N` will be a dependency of `M` and thus a
>     transitive
>     dependency of the current module.
>

[-- Attachment #2: Type: text/html, Size: 1546 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Caml-list] module dependency question
@ 2026-07-16 14:53 K
  2026-07-16 13:07 ` Florian Angeletti
  0 siblings, 1 reply; 4+ messages in thread
From: K @ 2026-07-16 14:53 UTC (permalink / raw)
  To: Caml Mailinglist

[-- Attachment #1: Type: text/plain, Size: 613 bytes --]

I have been labouring under the mis-apprehension that the global Path.t's
within the typed AST are sufficient to identify all dependencies of a
module.
But I think the following case illustrates differently:

consider a toplevel definition:
let v = M.f ()
where M.f: unit -> N.t

the dependency on M is clear but because the value v is not inspected in
any way, the type N.t is not a dependency unless going, say, beyond the
type AST description and iterating over the term's exp_type: typexpr
looking for global Path.t's.

Is this reasonable or is there a better way of going about identifying ALL
dependencies?

[-- Attachment #2: Type: text/html, Size: 765 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Caml-list] module dependency question
  2026-07-16 13:07 ` Florian Angeletti
@ 2026-07-16 15:19   ` K
  2026-07-16 13:34     ` Florian Angeletti
  0 siblings, 1 reply; 4+ messages in thread
From: K @ 2026-07-16 15:19 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 403 bytes --]

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.
>

[-- Attachment #2: Type: text/html, Size: 708 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-07-16 13:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-16 14:53 [Caml-list] module dependency question K
2026-07-16 13:07 ` Florian Angeletti
2026-07-16 15:19   ` K
2026-07-16 13:34     ` Florian Angeletti

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox