-
Notifications
You must be signed in to change notification settings - Fork 99
dev meeting 20220126
Present at the meeting:
- Paul-Elliot Anglès d'Auriac (@panglesd)
- Aya Charaf (@ayc9)
- Sonja Heinze (@pitag-ha)
- Sonja creates an up-to-date ppx-universe (i.e. a workspace with the current ppxlib reverse dependencies) to analyze how big the impact of the 4.14 bump is and possibly sends patches
- Paul-Elliot wraps up the improvements on how the PPX error reporting impacts merlin
- Paul-Elliot improves the manual
- Aya adds the first couple of derivers to the new
Ppxlib.Deriving
standard derivers project
The current state of how the PPX ecosystem reports errors has quite a negative impact on merlin's features. To improve that, Paul-Elliot has opened a PR to improve the way ppxlib cleans up the situation when a ppx rewriter raises a located exception. The impact of the change is the following: before the change, no merlin feature in the affected file would work apart from reporting that one error. Now, all merlin features work apart from features related to later PPX passes that had to be skipped, such as reporting their errors. Still, the best is when authors of ppx rewriters embed their errors into the AST instead of raising located errors. To encourage that, Paul-Elliot has also opened PRs to improve ppxlib's API as well as the ppxlib manual. He'll now also work on other parts of the manual.
Aya has been working on the first derivers for the new Ppxlib.Deriving
standard derivers project, whose goal is to consolidate the most standard derivers into one project, similarly to the old ppx_deriving.std
. So she's been working on make
and on eq
/ord
. The make
deriver is quite advanced already but is still raising located errors instead of embedding them. Apart from that, the most important feature missing is turning optional record fields and list fields into optional parameters. She'll work on that as well as on the eq
and ord
derivers.
Sonja has been doing the standard maintenance work, most importantly adapting ppxlib to the new compiler versions. Concretely, she's done a preview ppxlib version for compatibility with 5.00.0+trunk
(have you already tried out multicore on projects with PPXs?). And she's done a preview ppxlib version supporting the new features in 4.14
, i.e. a version bumping the ppxlib AST to 4.14. It's possible that bumping the AST to 4.14 might break more users than usual if we don't provide an extra level of stability, since 4.14 changes Ppat_construct
. She'll find out if that's the case by creating an up-to-date ppx-universe.
Also, the ppx_import
port to ppxlib has recently been merged and released, so now the shift of the PPX ecosystem from OMP1
to ppxlib
can be pretty much considered completed.