Jacques Garrigue

Results 185 comments of Jacques Garrigue

The PR is now ready for review. As the measurements show ,there seems to be a small impact of performance, but we believe the simplicity of use and the improved...

@lpw25 Concerning the first point (generalization of expansive expressions), the relaxed value restriction says that it is safe to generalize variables that have no negative occurrence in the type of...

I did try using a hash table (branch `automatic_generalize_hashtbl`). The results are not bad: ``` 9.612u 3.409s 0:13.26 98.1% 0+0k 0+0io 96191pf+0w 9.688u 3.525s 0:13.44 98.2% 0+0k 0+0io 96191pf+0w 9.644u...

Removed `Ctype.correct_levels`. This didn't take long, and the test suite goes through. You might still want to check on a bigger code base.

I also checked that remove `Ctype_correct_levels` from `Typeop.scrape_ty` indeed fails in trunk (otherwise, the test suite is dubious...) There were surprisingly few failures, but the following tests indeed fail (in...

Added more marks (4 on 32-bit architectures, 36 on 64-bit), and a fallback on `TransientTypeSet` when there are no marks left. Here are some measurements, compiling `ocamldoc` using `ocamlc.opt` on...

@bclement-ocp Thank you for your comments. Concerning the benchmark, you should read the leftmost column `x.xxxu`, as it shows the user time. The next column shows the system time, which...

Done as suggested. Here are the new performance numbers (on a slightly slower machine). ``` trunk 1.854u 0.840s 0:02.78 96.7% 0+0k 0+0io 17930pf+0w 1.847u 0.820s 0:02.74 97.0% 0+0k 0+0io 17930pf+0w...

Note that I didn't add the assertion at `Transient_expr.create`. I believe it is called much more frequently than `set_scope` (which is only called when the scope is updated), and the...

Sorry not to have answered this question. This is not trivial. Basically, you need to create a new widget on the ocaml side, which is not well supported. For an...