Jacques Garrigue

Results 13 issues of Jacques Garrigue

This is an attempt at improving performance in Typedecl.check_wellfounded, by avoiding recomputation. This seems to solve #11150.

bug

Some old code was lowering the level on the wrong type. I.e., when we return a typedtree node, we should ensure that its type is at `current_level`, but we don't...

no-change-entry-needed

This PR makes the `scope` field of `Types.transient_expr` a bitfield, and uses it to store marks. There are at least 4 marks, which can be used exclusively by using ```ocaml...

This PR makes the generalization automatic when leaving a scope. Namely, we introduce a notion of type node pool in `Btype`. * Every new type node is added to the...

Much nicer! To compile use: https://github.com/garrigue/ocaml/tree/purity-attribute

The value restriction, even in its relaxed form, makes us lose polymorphism even in cases where all functions are pure. This is especially galling for combinator libraries, where code is...

rfc
types

A proposal for a uniform handling of abstract types w.r.t. GADTs and injectivity. Cf. [#9042](https://github.com/ocaml/ocaml/pull/9042), [#5985](https://github.com/ocaml/ocaml/issues/5985).

rfc
types

New release for compatibility with OCaml 5.2 and C2x. Old versions appear to be broken.

In #12180 we imprudently removed `Typedecl.update_type`, as it seems to make no difference to the test suite. However, there are examples in the wild where it matters. So we resuscitate...

The crash in issue #13495 was caused by the addition of a fatal error in `unify_univar`, which was triggered by calling `eqtype` on types containing univars. The solution proposed consists...