Skip to content

dev meeting 20200514

Nathan Rebours edited this page Sep 17, 2020 · 1 revision

Present at the meeting:

  • Nathan Rebours (@NathanReb)
  • Jérémie Dimino (@jeremiedimino)
  • Carl Eastlund (@ceastlund)

Current milestone

Completion date: 21/05/2020

The ppx library is based on ppx_ast rather than ppx_ast_deprecated.

This is the high priority item as it is the main chocking point. Once it is done, we can in parallel:

  • add support for more OCaml versions
  • improve the compiler side story, in particular regarding tests
  • start porting ppx libraries to ppx

Current plan

High-priority:

  • Carl sorts out the code that depends on our copy of Pprintast
  • Jérémie looks at removing the omp dependency in the driver
  • Nathan finishes debugging the 4.08 migration bug and merges it

Medium priority:

  • Nathan backports the location check once we have 4.08 support

Low priority:

  • Nathan makes the driver blame the ppx rewriter that raised when catching an exception via a catch-all handler

Meeting notes

Carl made a big pass on the ppx library to port it to the new API. There are now just a few remaining links to the old world:

  • some calls to our copy of Pprintast
  • the driver which calls the ocaml-migrate-parsetree driver machinery

Our copy of Pprintast simply adds a few entry points. Carl is planning to try and port Pprintast to the new API, but in the end these entry point are only there for completeness of the implementation it is quite likely that if we replace them by assert false nothing will break. Adding these upstream should be fine as well.

For the driver, this parts is really spaghetti code due to the way all these libraries evolved. Jérémie will take a stab at detangling the code and removing the omp dependency.

Nathan continued debugging the 4.07<->4.08 migrations. Some failures were due to wrong locations being produced and this is now fixed. However the test are still failing and producing a large amount of output which is making Dune crash :/ We discussed a few ideas to reduce the output and continue debugging.

Clone this wiki locally