I have to say, as someone who comes from a new media art background (c+±ofx, c for externals in MaxMSP, opengl, glsl) who has primarily programmed components for new media programming environments, I have found using the opam ecosystem to be the smoothest package management system I’ve ever encountered. Everything has simply worked and I haven’t had hit any annoying snags across the entire process (I can’t count the amount of times I’ve said “is this even real?” in the last few days). I’ve hacked around with dune and its amazing to see see things just build. Opam packages appear to be of the highest quality. The language itself, being theoretically influenced by category theory, just makes sense. I fell in love with category theory in philosophy grad school, which I went to initially to get away from writing software, but now I recognize that what crushed my soul isn’t computing, but the imperative paradigm itself.
I’m working through Cornell’s CS3110 and only finishing the third section so I haven’t had any practical programming experience with OCaml yet, but I’m hoping I’ll find that this experience translates nicely into the practical realm for an independent new media artist, because if it does I imagine I will be a lifelong OCaml user.