Next priority for OCaml?

The way I read the modular implicits paper is that it also emphasizes how canonical coherence is a property that cannot be achieved with the OCaml module language, and that what it proposes instead is non-ambiguous coherence, where there is unambiguously one implementation of an instance in scope at any given reference, which still allows for different implementations of the same instance to be in use in the same program.

As it happens, I think that’s a desirable language feature rather than a defect, but I’m probably in a very marginal minority on that point. I’m frequently clashing with colleagues on points related to this when similar conversations arise in the C++ community around function overloading and template specialization.

6 Likes