Skip to content

Conversation

@bobot
Copy link
Contributor

@bobot bobot commented Nov 5, 2025

Mlcuddidl is a binding for cudd (BDD) which added some interesting functionalities in the C code. It went as far as letting the user put OCaml values as leaf of a BDD, so inside a C datastructure. This require some expert (god?) level collaboration with the runtime. The massive change of the runtime for ocaml 5.0 makes those juggling even more complicated.

This PR removes, only for OCaml >= 5.0, the problematic modules, so that the users can still use the usual BDD datastructure.

I'm not the maintainer which is @nberth , but he seems to be busy: https://framagit.org/nberth/mlcuddidl/-/issues/2

@mseri
Copy link
Member

mseri commented Nov 5, 2025

Could you submit the patch to the https://github.com/ocaml/opam-source-archives repository and link it from there?

@bobot
Copy link
Contributor Author

bobot commented Nov 6, 2025

If it is okay with you I will keep the patch here until I'm able to make the CI turn green. (Or perhaps I can run it locally?)

    only for < 5.0 since the module is removed for >= 5
@mseri
Copy link
Member

mseri commented Nov 6, 2025

Sure!

@nberth
Copy link
Contributor

nberth commented Nov 6, 2025

I'm not the maintainer which is @nberth , but he seems to be busy: https://framagit.org/nberth/mlcuddidl/-/issues/2

Hi @bobot, for some reason I stopped receiving notifications for my repositories on framagit. My apologies for not answering. I guess it's ok to strip mlgmpidl from its problematic modules so it works fine with OCaml 5. However such a breaking change may warrant a renaming of the package, maybe mlcuddidl-bddonly or something similar.

When I find the time I'll comment more on the issue you linked. Or, most likely a discussion with some decision-makers at OCamlPro may help me find some time to do some support for the old packages I maintain(ed) ;)

@bobot
Copy link
Contributor Author

bobot commented Nov 6, 2025

Oh @nberth, broken notification I understand well. Just a new major version could be enough for such breaking change. I think we should have some help from the runtime for safely putting ML values in custom block, so I don't see any hope to support the other modules before long.

@nberth
Copy link
Contributor

nberth commented Nov 6, 2025

Well, I'd indeed need to refresh myself on what changed w.r.t custom blocks since a few OCaml releases. And to answer one of your questions in the issue: that code was initially written for OCaml 3.12 or even earlier (I think), so Weakke was necessary at that time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants