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

Publish Z_mlgmpidl module on opam #119

Open
sim642 opened this issue Jan 21, 2022 · 2 comments
Open

Publish Z_mlgmpidl module on opam #119

sim642 opened this issue Jan 21, 2022 · 2 comments

Comments

@sim642
Copy link
Contributor

sim642 commented Jan 21, 2022

As pointed out in #118, the Z_mlgmpidl module present here can be used, but it's not built or packaged on opam. Since it works, it shouldn't hurt to also publish it on opam.
It would be useful for Apron users (e.g. Goblint, MOPSA, Frama-C, etc.), because the alternative is to perform the conversions through string, which isn't very pleasing, or float, which defeats the point of big integers.

Of course the module depends on mlgmpidl, so it wouldn't make sense for the module to be part of the "zarith" package, which would have to have an additional dependency for no good reason. Therefore, that single module could be published as a separate package like "zarith-mlgmpidl", which could still be defined in this repository and depend on both zarith and mlgmpidl.

@antoinemine
Copy link
Collaborator

Could we use optional dependencies in opam?

@sim642
Copy link
Contributor Author

sim642 commented Jan 21, 2022

I suppose that should work as well, if the build is made to detect the presence of mlgmpidl.
I think there are also opinions that optional dependencies are not the best to have, this is often linked: http://rgrinberg.com/posts/optional-dependencies-considered-harmful/.

Whichever way the module is made available without having to copy it works for me at least, but maybe some people have a preference about the setup of such central package.

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

2 participants