-
Notifications
You must be signed in to change notification settings - Fork 98
dev meeting 20210422
Present at the meeting:
- Jérémie Dimino (@jeremiedimino)
- Sonja Heinze (@pitag-ha)
- Sonja gets rid of
Migrate_parsetree_def
and replacesMigrate_parsetree_def.Migration_error
exceptions byLocation.Error
exceptions, if that doesn't break downstream users - Sonja tries to make the
Location
andLongident
base types abstract
@drup has improved the port of tyxml
to ppxlib
and has merged it and released it.
Sonja has been working on Astlib: it's now cross-version compatible from 4.04.2 on (same as master) and passes the CI. She has also thinned down most of its API. There are three things left.
One is to find a way to make the Location
and Longident
base types abstract. She will try to find a way this week.
Another one is the enum type Migrate_parsetree_def.missing_feature
listing conversion obstructions, and the exception Migration_error
based on it. Sonja will check if getting rid of them and throwing Location.Error
exceptions instead would break downstream users in the ppx universe.
The third one is that the type equivalences between the various Ast_n.Parsetree
types with the compiler-libs Parsetree
types leak the latter through the API. The mentioned equivalences make it possible to use compiler-libs/Astlib functions based on Parsetree
types from within the Ppxlib
module: e.g. parse functions and cookies/context functions. That purpose would also be served if we kept those type equivalences Astlib-internal and expressed them to the outside via (identity) conversion functions. We've discussed different ways to distinguish the public API from the internal API and their downsides: an mli
-file for Astlib would be huge and adding private module layers would make Astlib more complex and upstreaming it to the compiler more difficult.