You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All ppx rules except for ppx_executable have been removed in version 2.
The original motivation for the ppx rules was to enforce a kind of type discipline, ie. a ppx_executable could only depend on ppx_module etc. I subsequently learned that doesn't make sense, since any module may be a dep of a ppx executable. So there's no point to having a parallel set of rules for ppx, as there is not real distinction (from a build perspective) between them.
The only exception is ppx_executable. We need to keep that distinct from ocaml_executable because it does indeed play a different role in the ecosystem. In particular it is the bearer of ppx_codeps - dependencies it injects into the files it transforms. It passes those deps on so they will be inputs when the transformed output is compiled. (Which works because the ppx transform action is part of the ocaml compile rules.)
This should be an easy change for okapi, just change ppx_module to ocaml_module, etc.
The text was updated successfully, but these errors were encountered:
All ppx rules except for
ppx_executable
have been removed in version 2.The original motivation for the ppx rules was to enforce a kind of type discipline, ie. a
ppx_executable
could only depend onppx_module
etc. I subsequently learned that doesn't make sense, since any module may be a dep of a ppx executable. So there's no point to having a parallel set of rules for ppx, as there is not real distinction (from a build perspective) between them.The only exception is
ppx_executable
. We need to keep that distinct fromocaml_executable
because it does indeed play a different role in the ecosystem. In particular it is the bearer ofppx_codeps
- dependencies it injects into the files it transforms. It passes those deps on so they will be inputs when the transformed output is compiled. (Which works because the ppx transform action is part of the ocaml compile rules.)This should be an easy change for okapi, just change ppx_module to ocaml_module, etc.
The text was updated successfully, but these errors were encountered: