-
Notifications
You must be signed in to change notification settings - Fork 235
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate from ulex to sedlex #1792
Comments
@avsm also strongly encourages us to get rid of the camlp4 dependency: |
Related also FStarLang/karamel#138 |
We considered moving to sedlex when we first implemented Unicode support but at that time sedlex had significant limitations (in particular whith custom implementations of lexing buffer). I'm happy to have another look and discuss this at the next F* meeting |
Note, the Kremlin PR was merged |
And the official Camlp4 deprecation announcement: https://discuss.ocaml.org/t/the-end-of-camlp4/4216 |
Note, that 4.09 release will be ready quite soon, but camlp4 won't be available for that version. |
OCaml 4.10 is going to be released soon and the first beta is already available. Obviously, still can't be used with camlp4. |
Is it being worked on? I can try to submit a PR if that's not the case |
@fangyi-zhou I've asked the F* team, and it seems no one is working on this. So patches welcome! |
@fangyi-zhou you can use the Kremlin commit as a reference in case there are issues with this task: FStarLang/karamel@4acd7cc |
It's more complicated than the kremlin commit because there is also the FStar.ULexing module that uses some APIs sedlex doesn't support. |
@fangyi-zhou depending on what must be enhanced in Sedlex it might be useful to ask its developers or send a pull request https://github.com/ocaml-community/sedlex/issues |
Our Homebrew formula's deletion (#1938) is also a consequence of the camlp4/ulex dependency: |
Sorry I didn't manage to make a pull request. On a separate note, maybe replace ulex with ulex-camlp5 as a quick workaround? |
Quick workarounds tend to stay forever. IMHO, it's better to fix it properly. Nobody will fix ulex bugs in the future, there is no guarantee it will be compatible with the next OCaml version, etc. |
If you're happy to dig into why sedlex hangs on compilation, I'm happy to make the rest of the changes |
Long story short - ulex is dying, mainstream depends on the camlp4, which is dead, fork depends on the camlp5, which seems dead too. This prevents from porting F* to more modern OCaml versions and dependencies versions.
See these links for more information:
Sedlex is an active maintained project by OCaml community: https://github.com/ocaml-community/sedlex
The text was updated successfully, but these errors were encountered: