Re:C23: A Slightly Better C
by lifthrasiir on Monday January 22, 2024 @12:43AM
(#39086695)
That's orthogonal to the module system. OCaml for example has `.ml` and `.mli` files for the same purpose, but `.mli` can be automatically generated from `.ml` if you want. And that's absolutely nothing to do with OCaml's great module system.
Does the .mli file preserve documentation comments? IMHO the header file should be written for human consumption first. Documenting the implementation isn't by far as important.
Re:C23: A Slightly Better C
by lifthrasiir on Monday January 22, 2024 @07:13AM
(#39088647)
The main OCaml implementation doesn't, but I believe there are several third-party tools that automate this. And as you've mentioned, comments in `.ml` and `.mli` do tend to differ, so even the default auto-generation may be useful because it will do as many jobs as possible without a human intervention.
In other languages you need IDE support for extracting the public API of a module.