Ocaml tooling win

I know Ocaml tooling posts are mostly about how to do things or why [more complicated than normal] scenario doesn’t work, but I just did this:

$ opam install caqti-driver-sqlite3
The following actions will be performed:
  ∗ install conf-sqlite3         1     [required by sqlite3]
  ∗ install sqlite3              5.1.0 [required by caqti-driver-sqlite3]
  ∗ install caqti-driver-sqlite3 1.9.0
===== ∗ 3 =====
Do you want to continue? [Y/n] y

The following system packages will first need to be installed:

Ah, damn. Fair enough - it will need the C headers for the library. Hang on though - it’s not finished running…

<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
Let opam run your package manager to install the required system packages?
(answer 'n' for other options) [Y/n] y
+ /usr/bin/sudo "apt-get" "install" "libsqlite3-dev"

Nice - knows I’m on Debian and the name of the apt package it wants.

Good work there, opam team - score yourselves one more happy customer.


Criticising shortcomings of OCaml’s tooling is good but pointing out the good stuff is significant as well. IMHO the tooling is much better than it’s reputation.
Positive feedback is helpful for both project developers and new users. I like this post.