-
Notifications
You must be signed in to change notification settings - Fork 99
dev meeting 20200430
Present at the meeting:
- Nathan Rebours (@NathanReb)
- Jérémie Dimino (@jeremiedimino)
- Carl Eastlund (@ceastlund)
Completion date: 21/05/2020
The ppx
library is based on ppx_ast
rather than
ppx_ast_deprecated
.
High-priority:
- Carl is working on adding more helpers
- Once above is done, Carl ports
ppx
toppx_ast
- Nathan is adding support for 4.08
- Carl and Nathan debug the test blocking 4.08 upgrade
Medium priority:
- Nathan backports the location check once we have 4.08 support
Low priority:
- Nathan makes the driver blame the ppx rewriter that raised when catching an exception via a catch-all handler
Nathan is still working on adding 4.08 support. There are currently two blockers:
- adding 4.08 support requires updating some code that depends on
ppx_ast_deprecated
- some QuickCheck based tests are failing
For (1), there are two possible resolutions and will depend on how fast other features are coming along. For (2), we need to figure out whether that's a bug introduced by the feature or just a problem with the test itself. The test is currently difficult to debug and Nathan is planning to do a bit of work on the test itself to make it easier to debug it.
Nathan has also been looking at better error reporting in ppx_view
by inserting [%ocaml.error]
nodes rather than raising. This works
and interacts well with merlin, though it turned out to be difficult
to write test for this. Given that our main priority is providing a
good answer to the combination backward compatibility + composability,
we are simply skipping testing this aspect of things.
We also mentioned that we agree on letting pgrade/downgrade failures
be just exceptions. Handling them via [%ocaml.error]
would be a
developer nightmare and it's not even clear that this would be
better. As long as ppxlib can catch such exceptions and blame the ppx
that raised them, we'll have a good story for dealing with such
problems.
Carl is still working on adding helpers to help porting the ppx
library to ppx_ast
. The next set of helpers he is in planning to
work on next are optional downgrade functions, i.e. that returns
None
if a piece of ast cannot be downgraded. Nathan and Carl think
this could help debug the test that are blocking the 4.08 upgrade.
Carl mentions that he thought of other use case for our encoding of the parsetree types, such as producing a slightly different AST that would capture whitespace informations.