Skip to content
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

support ocaml >= 4.08 #78

Closed
vogler opened this issue Feb 3, 2020 · 4 comments
Closed

support ocaml >= 4.08 #78

vogler opened this issue Feb 3, 2020 · 4 comments

Comments

@vogler
Copy link
Collaborator

vogler commented Feb 3, 2020

ppx_import blocks the upgrade to ocaml 4.08, track ocaml-ppx/ppx_import#41.
We use ppx_import to import Cil types to generate to_yojson and show with ppx_deriving, see https://github.com/goblint/analyzer/blob/master/src/util/deriving.ml#L22.
Alternatively we could maybe include our fork https://github.com/goblint/cil as a git submodule to have direct access to the types. However, I guess, it should then not be installed as an opam package but be built together with goblint.

@fpottier
Copy link

fpottier commented Feb 6, 2020

Just a comment to say it would be good to have ppx_import work for OCaml 4.08 and beyond. It can be really useful in conjunction with ppx_deriving, visitors, etc.

@michael-schwarz
Copy link
Member

The ppx_import folks seem to be working on adding support for 4.08 now 🎉 ocaml-ppx/ppx_import#46

@michael-schwarz
Copy link
Member

Their fix solves the problem with ppx_import.

Unfortunately, this leaves us with ppxx (which ppx_monadic relies on) still blocking support for 4.08.

@vogler
Copy link
Collaborator Author

vogler commented Feb 22, 2020

I only used ppx_monadic in src/extract/ to have a more concise syntax.
There are several such libraries available if you search for monad in the packages.
OCaml 4.08 also introduced definable syntax for monads and applicatives (see here), however, it seems like there is no ;-sequencing.
Next best thing seemed to be ppx_let but it somehow constrains ppx_import via some dependency if I try to install it: downgrade ppx_import 1.6.2 to 1.5.
I then tried ocaml-monadic which seems to work and has not as nice but reasonable syntax. I'll adjust the files later.

vogler added a commit that referenced this issue Feb 24, 2020
ppx_monadic's dependency ppxx does not work with ocaml 4.08:
#78
@vogler vogler closed this as completed in 1a15559 Feb 24, 2020
keremc pushed a commit to keremc/analyzer that referenced this issue Mar 15, 2021
multiple fixes for of_string functions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants