relit
relit copied to clipboard
Support for OCaml 4.06
That's the most recent release of the compiler. How hard would this be? Can we use the OCaml preprocessor to simultaneously support different versions of Typedtree in the same repository? Might depend on #7.
Reason just started supporting OCaml 4.07 so it should be somewhat easy to move... actually supporting both 4.07 and 4.08 is harder. I don't think it depends on #7 necessarily but they probably have similar solutions... choosing to compile different code in a PPX depending on the ocaml version?
Does Typedtree change a lot between 4.06 -> 4.07 -> 4.08?
If so, a simple solution would be to use cppo in places where we need the code to be different. You can do stuff like this:
#if OCAML_VERSION >= (4, 0, 6)
(* All is well. *)
#else
#error "This version of OCaml is not supported."
#endif
Yeah I think I'd rather use ppx_optcomp so we don't have to introduce tooling to work with another kind of preprocessor. I'm not sure what the actual changes are, but apparently making something like ocaml-migrate-parsetree for typed trees is much harder as they tend to change much more between versions.
Ah yeah that looks better, we should use that.
We support 4.07 now! But to get 4.06 working we'll likely need to use ppx_optcomp.
Newbie here, working with reasonreact... Is keeping in line with the latest OCaml compiler for bucklescript of any concern? They seem to be going for 4.06.x, which should be coming up soon.
Hey! Sorry it's taken a while to respond. Commit cacd3255ab43c011d09f26016a2a2c1dd5d04db0 is still on 4.06 so you could try checking that out when Bucklescript is ready. It's a little hard to change master to support both 4.06 and 4.08. If there ends up being a lot of interest in using Relit with Bucklescript specifically I'd be happy moving it to 4.06 for a while.