Ppxlib dev meetings

Hello everyone,

Similarly to what the Eio team is doing, we’re now also making the Ppxlib dev meetings public. Ppxlib’s maintenance is mainly passive, so the meetings are monthly and tend to be small. Still, anyone who’s interested is invited to join!

In general, our meetings are every third Tuesday of the month at 6pm CET (third because three is the smallest prime number right after two :stuck_out_tongue: ). However, we sometimes adapt the time to make sure that both @panglesd and I can join.

This month, the meeting will be the day after tomorrow, i.e. on Thursday, June 22nd at 4pm CET. I’ll post a link to that meeting in this thread on Thursday.

Some things that are on the agenda for this month’s meeting are:

  • Recap of ocaml.5.1.0 support
    - What have been the main pain points for Ppxlib wrt the Parsetree change on value binding constraints?
    - How can we handle those kinds of Parsetree changes better in the future?
  • Upcoming ocaml.5.1.0 feature support
    - What structure do we want for the Ast_builder/Ast_pattern unstable submodules?
    - When are we going to start the creation of the current PPX universe?
    - How we will detect the potential semantic breakages of PPXs after the Parsetree bump.
  • trunk-support
    - Let’s move trunk-support over to main!
    - Possibly: Astlib

If you’d like to discuss anything else, you can answer here on the thread and we’ll add it to the agenda.


Here’s the link to the meeting this afternoon (at 4pm CET): meet.google.com/yxw-ejnu-cju


As a follow-up: It has been @panglesd, @Burnley and me in the meeting today. So nobody “from outside” has joined. Still, we think it’s good that the decision not to participate is taken by each community member, not by us. So we’ll keep the meetings open. You can add the monthly event to your Google calendar, and we will try to send a notification here on discuss each month.

And here are today’s meeting notes: Dev meeting 22 06 2023 · ocaml-ppx/ppxlib Wiki · GitHub


Hello :wave: The ppxlib July dev meeting is tomorrow Tue, July 18th, at 6pm CET. Here’s what’s on our agenda so far:

  • OMP:
    • Do we “stop maintaining it” or do we add OCaml 5.1 support?
  • Ppxlib - OCaml trunk compat:
    • Currently, there’s no compatibility due to an ocaml-compiler-libs build problem. Who’s affected?
  • Ppxlib’s general maintenance:
    • OCaml 5.1 support: The bug fix around generative functor applications is being worked on.
    • We’re not in a hurry to bump the AST this time.
    • A few pending reviews on Ppxlib. What’s the best strategy for reviews / reacting to non-urgent issues now that we’re in “minimal maintenance mode”?
    • Is there anything else that will come up before September?
  • OCaml workshop 2023:
    • Recap on why our talk proposal on Ppxlib has been rejected.
  • Outreachy internship on Ppxlib:
    • How is it going? :heart:

We’re always happy to add things, if anyone is interested in anything else.

Edit: I forgot to add the meeting link. It’s the same as last time: https://meet.google.com/yxw-ejnu-cju


Here are the meeting notes of the July meeting: Dev meeting 18 07 2023 · ocaml-ppx/ppxlib Wiki · GitHub

As a heads-up: There won’t be a meeting in August, so the next one will be in September. Have a nice summer/winter/other season everyone! :slight_smile:


Hello :wave: We’re having the monthly dev meeting today at 6pm CEST. It’s the same meeting link as always: https://meet.google.com/yxw-ejnu-cju and here’s our agenda so far:


Here’re today’s meeting notes: Dev meeting 19 09 2023 · ocaml-ppx/ppxlib Wiki · GitHub. It has been @panglesd , @ceastlund, @Burnley and me in the meeting.

Also, as a side-note: If anyone thinks that two posts about the Ppxlib meetings per month -one with the agenda and the meeting link and one with the link to the notes- is too much spamming, do let me know.


The October ppxlib meeting is today. We only have a short agenda for this month so far:


Like always, anyone is invited to join: https://meet.google.com/yxw-ejnu-cju . It’s starts 2023-10-17T16:00:00Z.

1 Like

@octachron has come to the ppxlib dev meeting today, which has been a very nice surprise. It’s nice to discuss intersections between ppxlib and the compiler together with compiler maintainers. Thanks, @octachron!

So it has been @panglesd, @octachron and me in the meeting. Here are the meeting notes: Dev meeting 19 09 2023 · ocaml-ppx/ppxlib Wiki · GitHub.


Hello :slight_smile:

Tomorrow, concretely 2023-11-21T17:00:00Z, is our monthly ppxlib dev meeting. Here’s what we currently have on the agenda:

We’re making it a zoom meeting this time, so the meeting link is different than usual. Here it is:
Launch Meeting - Zoom


It was a nice and short meeting with @ceastlund and me. Here are the meeting notes: Dev meeting 21 11 2023 · ocaml-ppx/ppxlib Wiki · GitHub

@panglesd and I are going to have a probably quite quick December dev meeting tomorrow, concretely 2023-12-19T17:00:00Z. Here’s our agenda:

  • 0.32.0 release
    • Reason for the release: Attribute API addition.
    • Preparation for the release: What else to merge before the release?
    • Caution for the release: CamlStdlib change.
  • Compiler change of AST context format.
    • Are there still use cases where the ppx driver is compiled on a different OCaml version than the project is compiled with? In those cases, that compiler change would affect us.
  • Change of philosophy for trunk-support branch.

As always, we’re happy to add anything to the agenda! And also, as always, we’re happy if anyone wants to join: https://meet.google.com/yxw-ejnu-cju . That’s true in general and particularly if you have insight about the use case question in point 2 from the agenda (also happy to hear about it here on discuss).

1 Like

Here are today’s meeting notes: Dev meeting 19 12 2023 · ocaml-ppx/ppxlib Wiki · GitHub

From next meeting on, I’ll make sure to only send one message on discuss per meeting containing both the agenda and a link to future meeting notes.

Have a nice new year everyone! :tada::slight_smile:

1 Like

Hello everyone,

First of all: Happy new year! :sparkles:

We have our monthly ppxlib dev meeting 2024-01-16T17:00:00Z. As always, anyone is welcome to join and to add anything to the agenda:

  • Getting rid of the embed-errors=true/false logic in favor of always embedding errors.
    • Do we really want that?
    • What would be the performance impact on builds with PPXs?
  • Pros and cons of the two different approaches to make ppxlib a weak dependency only:
  • The PRs on error reporting.
  • The upcoming 0.32.0 release.
    • Reason for the release: Attribute API addition
    • Caution for the release: CamlStdlib change
    • Heads-up for the release procedure: We’ll need to write release notes for the OCaml changelog

Here’s the meeting link: https://meet.google.com/yxw-ejnu-cju

As always, after the meeting, we’ll upload the meeting notes to the repo’s wiki page.

Update: The notes are uploaded now: Dev meeting 16 01 2024 · ocaml-ppx/ppxlib Wiki · GitHub . It has been a nice and refreshing meeting now that we have a “new” and more active maintainer (@NathanReb) among us. Apart from Nathan, it has been @panglesd and me.


Hello :wave: I’ve been wondering how this thread is perceived: Do people appreciate that I keep on posting about the monthly dev meetings, first with the agenda and, later on, adding a link to the meeting notes? Or do some perceive it a bit as “spam”?

I’ve decided to make a quick poll to try to find that out. If you only have the slightest opinion, please participate.

And if you have a stronger and more formed opinion than captured by the poll, you’re of course also very welcome to post with your opinion. E.g. I could imagine things like “A link to the notes every month is good, but please summarize the notes more instead of so many low-level details”.

So, here’s the poll: Do you think it’s good to keep on posting about the ppxlib dev-meetings every month?

  • Yes. It’s nice to see the agenda and a link to the notes here on the forum every month.
  • No. No offense, but it’s a bit spammy.
0 voters

Thanks everyone who has participated in the poll! :heart: It seems like a few people do appreciate the monthly posts, so I/we’ll keep on doing them. If anyone has any comment, just let us know. However, according to the current state of the poll, there’s also one person who finds this thread a bit spammy - and there might be more. I’ll leave the poll open for as long as discuss allows me, so that I can see if that number increases in the future. In the meantime: I’m sorry for the inconvenience for the very few who find the posts spammy!

This month, we’re having the meeting on Monday instead of Tuesday, same time as always: 2024-02-19T17:00:00Z . That’s also reflected in the public calendar event. Here’s our agenda. Remember that everyone is welcome to add things:

  • 5.2 support
    • Let’s discuss the complicated compiler AST changes for 5.2, among others, if we’re testing their support enough.
      • Syntactic support for functions with arity > 1
      • Have there been more complicated AST changes this time?
    • The compiler ocaml.ppx.context change
      • This affects the PPX world iff people want to build their project with a different OCaml version than their PPX is built with. Do we want to keep on supporting that workflow?
      • Why was the change of ocaml.ppx.context in the compiler done in a breaking way? Is it worth for us to discuss that with them?
    • The ppxlib ~preview release with 5.2 support
  • Upcoming things to do on ppxlib
    • When to start with the work to bump ppxlib’s AST to 5.2?
    • When to start with the upstream Astlib efforts?
  • In case we have time, let’s also discuss how to improve the repo for people to get involved easier (issue labels, contribution guidelines etc)

Update: Here are the notes: Dev meeting 19 02 2024 · ocaml-ppx/ppxlib Wiki · GitHub . Apart from @NathanReb, @panglesd and me, also @Octachron and @shonfeder have joined spontaneously :pray: Thanks, both! The insight into compiler-related details, as well as the nice nudge towards the ppx_deriving plug-ins, have been very helpful and nice.


Why was the change of ocaml.ppx.context in the compiler done in a breaking way?

Your post (thanks!) was my first time learning about this. In addition to whatever communication channel y’all have with @octachron, I think that you should not hesitate to open an issue on the compiler when you find such things. There is a chance that we can change things before the 5.2 release to make the ppxlib-side regression go away.

I was curious so I looked around, my best guess is that you are referring to ppxlib issue ocaml.ppx.context's local_path format changes in OCaml 5.2 · Issue #475 · ocaml-ppx/ppxlib · GitHub , and that it is itself caused by Add -H flag for transitive dependencies · ocaml/ocaml@01178bb · GitHub which is part of Add a `-H` flag, second attempt by ccasin · Pull Request #12246 · ocaml/ocaml · GitHub . You already pointed to this issue earlier for your December meeting ( Ppxlib dev meetings - #12 by pitag ), but no one has yet posted a comment on the upstream change to point out that this change affects ppxlib, or (apparently?) considered suggesting that we implement the change differently to avoid the breakage on your end.

Edit: I posted a summary-of-my-understanding comment on the upstream PR, Add a `-H` flag, second attempt by ccasin · Pull Request #12246 · ocaml/ocaml · GitHub .

1 Like

(I’m just following up on this post and the comments on the PR.)

Thanks a lot for following up on this!

I think that you should not hesitate to open an issue on the compiler when you find such things.

Thank you! That’s indeed very good to know. From our point of view, there was nothing you did wrong, as there’s no guarantee for formats such as the ppx context one to be kept stable. So our take on it was that we’ll just deal with it. Very nice to know that it was lack of communication from our side and you’d have done the effort to keep it stable for us if we had communicated about it (we’ve known ever since Add a `-H` flag, second attempt by ccasin · Pull Request #12246 · ocaml/ocaml · GitHub was merged). Next time, we’ll communicate, i.e. write an issue!

Your guess is exactly right: The new compiler -H flag has changed the ocaml.ppx.context format by changing its load_path field. In a “usual” set-up, where the PPX is built with the same compiler version as the project is built with that’s not a problem. It’s only a problem if the PPX is built with <5.2 and the project with >=5.2 or vice-versa. We introduced supporting the workflow of building the PPX with a different compiler than the project in an effort to support bucklescript. Nowadays, we don’t have information if that workflow is still needed by people.


In addition to whatever communication channel y’all have with @octachron

That “communication channel” was @octachron coming to our meeting :))

Hello :wave:

Last month’s meeting

I think as I added the link to last month’s meeting notes by updating the last message, they got lost. In case they’re still of interest: Dev meeting 19 02 2024 · ocaml-ppx/ppxlib Wiki · GitHub .

Very nice for us: Apart from NathanReb, panglesd and me, also Octachron and shonfeder joined spontaneously :pray: Thanks a lot, both! We very very much appreciate every external support and contribution!

This month’s meeting

About this month’s meeting: It’s taking place 2024-03-21T16:00:00Z.

The current agenda is:

  • 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.
  • 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.

We’re using zoom today:

Meeting ID: 853 2626 4888
Passcode: 501648

Update: Here are the quickly written notes of this month’s meeting Dev meeting 22 03 2024 · ocaml-ppx/ppxlib Wiki · GitHub . Very nice: @ncik-roberts who implemented the function arity change in the compiler, joined the meeting. Thanks for joining!


April’s meeting is scheduled tomorrow, 6PM CET.

Here’s the meeting’s agenda:

  • How to deal with the release of 5.2 support
    • Can we safely release it ahead of the compiler?
    • Should we already merge trunk-support into main?
  • Updating trunk-support for 5.3
    • The trunk-support branch was lagging behind before our recent
      update following the 5.2.0~alpha releases of the compiler.
      Now is a good time to document and improve how we maintain this
    • We lack documentation on how to add support for a new compiler version,
      that’s something we might want to look into when adding support for the
      latest trunk.
    • It seems that @hhugo already has a branch with 5.3 support, probably
      worth looking into this.
  • Are we bumping the internal AST to 5.2
  • A quick update on ppx_deriving
    • 6.0.0 release ongoing with standard derivers ported to ppxlib
    • ppx_deriving_yojson should be migrated as well
    • We should start deprecating the ppx_deriving API for writing
      derivers as a next step
  • Refactoring the driver code that builds the list of AST transforms
    • Working on the dune driver mode brought to light that this part of the driver could use some simplification and clarification
1 Like