Add user interface to construct and destruct encoded effect patterns#624
Merged
NathanReb merged 2 commits intoocaml-ppx:mainfrom Feb 10, 2026
Merged
Add user interface to construct and destruct encoded effect patterns#624NathanReb merged 2 commits intoocaml-ppx:mainfrom
NathanReb merged 2 commits intoocaml-ppx:mainfrom
Conversation
b132973 to
eaa6ed8
Compare
Signed-off-by: Nathan Rebours <nathan.rebours@ocamlpro.com>
eaa6ed8 to
239f97a
Compare
Collaborator
patricoferris
left a comment
There was a problem hiding this comment.
Thanks Nathan, looks great :)
Collaborator
Author
|
I addressed both your comments and this looks much better. It also allowed me to detect and fix a bug in the 5.4 <-> 5.3 migrations! |
patricoferris
approved these changes
Feb 10, 2026
Collaborator
patricoferris
left a comment
There was a problem hiding this comment.
This looks great @NathanReb. Good catch on the extra encoding/decoding going in on the migrations.
Signed-off-by: Nathan Rebours <nathan.rebours@ocamlpro.com>
9449385 to
3dc7c29
Compare
NathanReb
pushed a commit
to NathanReb/opam-repository
that referenced
this pull request
Mar 20, 2026
CHANGES: - Add support for OCaml 5.5 (ocaml-ppx/ppxlib#622, @patricoferris, @NathanReb) - Add support for OCaml 5.4 bivariant type parameters, they can now be used alongside ppx-es. (ocaml-ppx/ppxlib#629, @NathanReb) - Add `Attribute.Floating.declare_with_attr_loc` and `.declare_with_name_loc`, by analogy to the same functions at top level of `Attribute`. (ocaml-ppx/ppxlib#631, @ceastlund) - Migrate `Ptyp_open` nodes using an extension point (ocaml-ppx/ppxlib#625, @patricoferris) - Add Ast_builder and Ast_pattern utilities to manipulate encoded effect patterns (ocaml-ppx/ppxlib#624, @NathanReb) - Fix a bug where ppat_effects would be encoded/decoded instead of copied by the 5.4 <-> 5.3 migrations (ocaml-ppx/ppxlib#624, @NathanReb) - Fix infinite loop when duplicate attributes are present, raising an error instead (ocaml-ppx/ppxlib#613, @ceastlund, @patricoferris) - Ignore extensions inside attributes for the unused extension check (ocaml-ppx/ppxlib#616, @Skepfyr) - Fix a bug that inserted `Location.none` into `Longident`s when using OCaml 5.4 and above (ocaml-ppx/ppxlib#619, @patricoferris) - Add support for OCaml 5.4 labeled tuples, they can now be used alongside ppx-es. Also adds Ast_builder and Ast_pattern utilities to manipulate them. (ocaml-ppx/ppxlib#607, @NathanReb)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds an API to build and destruct effect patterns even though they are encoded during the migration.