Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ocaml-migrate-parsetree 2.0.0 #101

Open
4 of 5 tasks
ghost opened this issue Jun 15, 2020 · 4 comments
Open
4 of 5 tasks

ocaml-migrate-parsetree 2.0.0 #101

ghost opened this issue Jun 15, 2020 · 4 comments

Comments

@ghost
Copy link

ghost commented Jun 15, 2020

This is a meta issue to track the progress towards ocaml-migrate-parsetree 2.0.0, a new major release that simplify ocaml-migrate-parsetree to its core functionality: the parsetree type definitions + the migration functions.

Todo:

  • port existing projects to ppxlib: list here
  • simplify the ocaml-parsetree-repository
  • add version constraints to reverse dependencies of ocaml-migrate-parsetree
  • release ocaml-migrate-parsetree 2.0.0
  • release a version of ppxlib that is compatible with ocaml-migrate-parsetree 2.0.0
@Et7f3
Copy link

Et7f3 commented Aug 17, 2020

release ocaml-migrate-parsetree 2.0.0
is done.

is their some guide how to update omp < 2 to 2.0.0 for instance Migrate_parsetree.Ast_408 can be used instead of removed Migrate_parsetree.Ast.OCaml_408. I see that outcometree is not versionned anymore (grep -ri outcometree . nor find . -iname "outcometree*" showed me the presence of this module). Outcometree is not in ppxlib neither. I have read https://discuss.ocaml.org/t/ocaml-migrate-parsetree-2-0-0/5991 and haven't see any mention of this. This is the blocker to update reason

@pitag-ha
Copy link
Member

pitag-ha commented Dec 2, 2021

@Et7f3 , I've just come across this comment. How has that developed in the end? Has it been possible to port reason?

@anmonteiro
Copy link

@pitag-ha we haven't ported reason to ppxlib, instead for 4.13 we ended up maintaining that snapshot for a vendored version of OMP1.

Last time I looked at porting Reason to ppxlib there was heavy usage of the Outcometree and Ast_mapper modules which are not versioned by ppxlib.

@pitag-ha
Copy link
Member

pitag-ha commented Dec 3, 2021

Ok, I see. Thanks for answering! One possibility to use ppxlib might be to use one of the Ast_traverse classes which let you traverse the AST similarly to how OMP1 does but in a versioned way; and for interacting with modules that aren't versioned like Outcometree, you could use To_ocaml to convert your AST types to the compiler version types, use Outcometree on there and convert back. Have you tried that already?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants