Skip to content

Move depend.ml into compilerlibs (ocamlcommon).#541

Merged
alainfrisch merged 1 commit intoocaml:trunkfrom
alainfrisch:ocamldep_in_core
Apr 28, 2016
Merged

Move depend.ml into compilerlibs (ocamlcommon).#541
alainfrisch merged 1 commit intoocaml:trunkfrom
alainfrisch:ocamldep_in_core

Conversation

@alainfrisch
Copy link
Copy Markdown
Contributor

This allows external tools to rely on the features provided by this module. An example
is ocamldoc itself, which could now be implemented as an external tool.

Note that LexiFi's variant of OCaml has been embedding depend.ml in the compiler for a long
time in order to support a stricter dependency mode where the compiler is only allowed to load .cmi
files corresponding to dependencies as inferred by ocamldep (hereby ensuring that ocamldep is
sound by construction).

This could also be seen as a first step towards supporting ocamldep features directly from ocamlc/ocamlopt (as a subcommand). This could be interesting in particular because one could always rely on boot/ocamlc to compute dependencies.

This allows external tools to rely on the features provided by this module.  An example
is ocamldoc itself, which could now be implemented as an external tool.

Note that LexiFi variants of OCaml has been embedding depend.ml in the compiler for a long
time in order to support a stricter dependency mode where the compiler is only allowed to load .cmi
files corresponding to dependencies as inferred by ocamldep (hereby ensuring that ocamldep is
sound by construction).
@dbuenzli
Copy link
Copy Markdown
Contributor

Would be nice to document the .mli.

@damiendoligez damiendoligez added this to the 4.04 milestone Apr 18, 2016
@alainfrisch
Copy link
Copy Markdown
Contributor Author

Documenting would be nice, but since I haven't looked at the alias stuff, I won't do it myself. Anyway, this can be done after the change suggested here.

Anyone opposed to merging this PR?

@dbuenzli
Copy link
Copy Markdown
Contributor

Anyone opposed to merging this PR?

I am since it adds one more undocumented API to compiler libs.

Anyway, this can be done after the change suggested here.

One can dream... Documentation is a design strategy, not an afterthought.

@alainfrisch
Copy link
Copy Markdown
Contributor Author

What a lame argument, and an insult to people who contributed documentation to modules that were part of the compiler-libs for a long time.

Anyone else opposed to the proposed change?

@dbuenzli
Copy link
Copy Markdown
Contributor

What a lame argument, and an insult to people who contributed documentation to modules that were part of the compiler-libs for a long time.

If you feel insulted by this then I'm sorry there's not much I can do for you. Speaking of lame arguments, you should check out yours for justifying the act of not documenting the API: basically it means you are exposing functionality you don't understand yourself which can only lead to API design disaster.

@alainfrisch alainfrisch merged commit 2c7c9b4 into ocaml:trunk Apr 28, 2016
EduardoRFS pushed a commit to esy-ocaml/ocaml that referenced this pull request May 17, 2021
stedolan added a commit to stedolan/ocaml that referenced this pull request Mar 22, 2022
stedolan added a commit to stedolan/ocaml that referenced this pull request May 24, 2022
stedolan added a commit to stedolan/ocaml that referenced this pull request May 24, 2022
64235a3 flambda-backend: Change Float.nan from sNaN to qNaN (ocaml#466)
14a8e27 flambda-backend: Track GC work for all managed bigarray allocations (upstream 11022) (ocaml#569)
c3cda96 flambda-backend: Add two new methods to targetint for dwarf (ocaml#560)
e6f1fed flambda-backend: Handle arithmetic overflow in select_addr (ocaml#570)
dab7209 flambda-backend: Add Target_system to ocaml/utils (ocaml#542)
82d5044 flambda-backend: Enhance numbers.ml with more primitive types (ocaml#544)
216be99 flambda-backend: Fix flambda_o3 and flambda_oclassic attributes (ocaml#536)
4b56e07 flambda-backend: Test naked pointer root handling (ocaml#550)
40d69ce flambda-backend: Stop local function optimisation from moving code into function bodies; opaque_identity fixes for class compilation (ocaml#537)
f08ae58 flambda-backend: Implemented inlining history and use it inside inlining reports (ocaml#365)
ac496bf flambda-backend: Disable the local keyword in typing (ocaml#540)
7d46712 flambda-backend: Bugfix for Typedtree generation of arrow types (ocaml#539)
61a7b47 flambda-backend: Insert missing page table check in roots_nat.c (ocaml#541)
323bd36 flambda-backend: Compiler error when -disable-all-extensions and -extension are used (ocaml#534)
d8956b0 flambda-backend: Persistent environment and reproducibility (ocaml#533)
4a0c89f flambda-backend: Revert "Revert bswap PRs (480 and 482)" (ocaml#506)
7803705 flambda-backend: Cause a C warning when CAMLreturn is missing in C stubs. (ocaml#376)
6199db5 flambda-backend: Improve unboxing during cmm for Flambda (ocaml#295)
96b9e1b flambda-backend: Print diagnostics at runtime for Invalid (ocaml#530)
42ab88e flambda-backend: Disable bytecode compilers in ocamltest (ocaml#504)
58c72d5 flambda-backend: Backport ocaml#10595 from upstream/trunk (ocaml#471)
1010539 flambda-backend: Use C++ name mangling convention (ocaml#483)
81881bb flambda-backend: Local allocation test no longer relies on lifting (ocaml#525)
f5c4719 flambda-backend: Fix an assertion in Closure that breaks probes (ocaml#505)
c2cf2b2 flambda-backend: Add some missing command line arguments to ocamlnat (ocaml#499)

git-subtree-dir: ocaml
git-subtree-split: 64235a3
EmileTrotignon pushed a commit to EmileTrotignon/ocaml that referenced this pull request Jan 12, 2024
EmileTrotignon pushed a commit to EmileTrotignon/ocaml that referenced this pull request Jan 12, 2024
The other links already use "Read Online" phrasing, so it is nice to be
consistent and also the text is slightly shorter.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants