I have the following structure:
src/
├─ instructions/
│ ├─ dune
│ ├─ arithmetic.ml
│ ├─ bitwise.ml
│ ├─ ...
├─ dune
├─ base_types.ml
├─ memory.ml
├─ ...
Everything in src
should be a library, but I also want things in src
to be able to access modules such as Instructions.Arithmetic
, while modules in instructions/
should be able to open Base_types
.
First question, my understanding is that this is something that (include_subdirs qualified)
aims to do. Is this possible to emulate right now?
Second question, is it possible for modules in instructions/
to be aware of modules in the parent directory without using (include_subdirs unqualified)
? or is this a bad structure? I want to have open Base_types
in arithmetic.ml
, but I get:
Error: Unbound module Base_types
Essentially, it seems I want (include_subdirs unqualified)
, but also need the subdirectories to be their own sub libraries as with qualified
.
Advice would be greatly appreciated.