Currently mlx copies parser/AST from OCaml 5.1 and ocamlmerlin-mlx copies parser/AST (and everything else needed) from merlin's 510 branch (corresponds to 5.1 OCaml version).
So we say that mlx toolchain is based on OCaml 5.1.
Now to support other OCaml versions we need:
to compiler 5.1 AST/parser with the current OCaml version
convert AST to the current OCaml version's AST
This PR implements this with the help of ppxlib. Unfortunately 1. point above requires venturing more Merlin code and some Obj.magic (but hopefully we can get rid of it soon).
Currently mlx copies parser/AST from OCaml 5.1 and ocamlmerlin-mlx copies parser/AST (and everything else needed) from merlin's 510 branch (corresponds to 5.1 OCaml version).
So we say that mlx toolchain is based on OCaml 5.1.
Now to support other OCaml versions we need:
This PR implements this with the help of ppxlib. Unfortunately 1. point above requires venturing more Merlin code and some Obj.magic (but hopefully we can get rid of it soon).