Gabriel Scherer
Gabriel Scherer
@c-cube if the user calls `Dynarray.unsafe_get` directly, they are on their own. But if they call `PQueue.pop_min`, they do not expect a segfault, and this severely restricts the ability to...
I would like to come back to this PR as I think it would be a shame to let this wait forever. In principle I think that there is a...
Through the lens of the "Make vs. MakePoly" question (do we expect users to provide priorities separately from values (Make), or values with a comparison function (MakePoly)), it looks like...
I disagree with your comments on the "poly" interface, but this is a bit tricky to explain clearly. There are two interfaces one could consider for queues: - separated priorities:...
In other words: we want to cover both "separated priority" and "internal priority" API expectations, *and* to have the functor a type of queue that is polymorphic over the type...
One problem that I see in practice with the API that @dbuenzli proposed in https://github.com/ocaml/ocaml/pull/12871#issuecomment-2094258140 is that it involves a lot of duplication of interfaces: - `Min` and `Max` are...
Thanks! I had the odoc `@inline` annotation in mind to share interface mixins between Min and Max, but I didn't think of obtaining the monomorphic and polymorphic signatures by instantiating...
I think that the sense of confusion we have about what "best" means is something, as API designers, is something that our user would also feel. It would make them...
I can reproduce with my 5.1.0 toplevel, but only if `-short-paths` is not passed. With `-short-paths` the toplevel prints `unit` as desired.
I can reproduce this when the declaration comes from another compilation unit. ```shell $ cd /tmp $ echo "type nonrec unit = unit" > u.ml $ ocamlc u.ml $ ocaml...