-
Notifications
You must be signed in to change notification settings - Fork 98
Dev meeting 22 03 2024
- Recap of the 5.2 support efforts.
- What do we want to do next?
- Bump the AST? If so, let's discuss
- if we're going to create a PPX universe to send the patch PRs
- or if are we going to make use of the opam-repo CI and only clone the PPXs that we break.
- Or retake the work on upstreaming Astlib?
- Or something else? There's enough small improvements to do.
- Bump the AST? If so, let's discuss
- Can we take turns in running these dev-meetings?
- If time: How to improve our repo hygiene to make it easier for external contributors to get involved.
- Nathan / @NathanReb
- Nick / @ncik-roberts
- Paul-Elliot / @panglesd
- Sonja / @pitag-ha
- Bug about type constraint pattern
- Found from the health-check
- Nick: How can 5.2 -> 5.1 -> 5.2 preserve the original arity nature of the function. Nathan: down-migration preserves the 5.2 info via attrs.
- PE: The upward migration has to decide on the arity of PPX generted functions
- Nick: The encoding ppxlib uses after down-migration looks very similar to the encoding at JS (an attribute). For functions inserted by ppxes, we assume ppxes want to construct functions with the max arity possible.
General question: Is it a good strategy to write the down-migration with a lot of care for detail, in exchange for being able to delay the AST bump?
- Nathan: It's not much more work to get both round-trips right than getting one right.
- Nick: For Jane Street it's not as important as he originally expressed.
- Nathan: Now that his work is funded, he'd like to do the work of bumping the AST.
- Will give it a look how much work it would be to create the necessary "universe". If it's not too much, he'll do it now, also because now the changes are fresh on our minds, and for PPX authors to to have the benefits of the arity change.
- We'll need to find out if Jane Street will take care of their own PPX patches or will expect us to do that.
- We could facilitate Jane Street taking care of it themselves by providing a branch with the AST bump, which Jane Street can use to patch their PPXs
- Nick: Example of why we might want to patch metaquot when the AST is bumped (see below)
[%expr fun x -> [%e e]]
In 5.1, the arity of this would be 1 + arity(e)
. In 5.2 (without changes to metaquot)
the arity of this would be 1 (a 1-ary function returning e
). This could cause issues
for performance of the generated code.
Jane Street handled this by having metaquot coalesce the arity of a constructed Pexp_function
node.
ETA for ourselves: We'll want to have all the discussions finished and a prototype before 5.3.
Sonja will run the meetings in odd months. Nathan will run them in even months. Nathan will open a PR on the GH wiki to persist the process of running the meetings.
Nathan is planning to open a PR to the ppxlib driver to improve the support for PPXs in dune he's been working in. No need to review straight away.