Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Use a different type for primitives in clambda and lambda #1579
This patch defines a new
This does not yet contain a lot of the refactoring itself.
Note that this will be required by the future developments of flambda which includes a specific type for primitives in flambda that can't really be represented into the current primitive type of lambda without adding a lot of new cases useless for the bytecode implementation.
Well, I tried to read the diff. It's so big that I gave up. I'm fine with the idea; it's just that someone else will have to check all those changes and vouch that they are correct and not excessively intrusive.
BTW: I see a .ml file containing type definitions only, and an identical .ml file. What's the policy du jour concerning those? It's no longer OK to have only the .mli? or only the .ml?
lthls left a comment
I've reviewed the implementation, and I believe it is correct.
The actual changes in the rest of the code are minimal: the primitives for Lambda are left untouched, and the new type introduced for Clambda primitives is the same as the Lambda one except for the following changes:
The rest are mostly mechanical changes induced by the change in types.
This pull request is rather important for simplifying other pull requests on the backend, so it would be helpful to get it merged early in the 4.09 cycle.