Jacques Garrigue
Jacques Garrigue
@gasche Variance works that way because it has to: even for a single type definition, you have to compute a fixpoint. The code for mutually recursive definitions is just a...
As I said in my last message in the discussion, there is a potential solution of doing the same as for class inheritance, i.e. allow to access previous type definitions...
I suppose it should just be illegal, i.e. the user should get an error. The syntax `module N = M` in a signature indicates explicitly an alias, so it would...
We need to do something. Either fix or document.
Polymorphic variants being purely structural, there is no technical need for such a feature. I.e., if you define ```ocaml module M = struct type t = [`A of string] end...
* There is no specification of what recursive modules should do w.r.t. class inheritance. * I don't think we are going to the suggested behaviour anytime soon. So I would...
You mean, having an error rather than inferring a wrong type? In this case I think this is fine indeed. Just have to check that this doesn't break existing programs,...
> This PR is difficult to review because it changes many things at once: > > 1. the representation of some "special paths" (the main change) > 2. the representation...
I squashed, rebased, and adjusted test output (remove last expansion when it involves the defined type). Ready for check.
Is it ok to merge after rebase, or do you still see work to do ? For the bootstraps, I usually try to do the right thing, but this is...