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

Add monadic interface to solver #52

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Leonidas-from-XIV
Copy link

This allows to plug in concurrency monads like Lwt, Async or Dune's Fiber into the solver and have the callbacks return the concurrency monad.

Currently work in progress, needs support code in 0install-solver as well.

This allows to plug in concurrency monads like Lwt, Async or Dune's
Fiber into the solver and have the callbacks return the concurrency
monad.
@talex5
Copy link
Collaborator

talex5 commented Oct 19, 2023

This isn't needed with OCaml 5 - in fact, the ICFP Eio tutorial used the example of performing Lwt operations in the solver's callback, without having to modify the solver at all.

It seems a shame to add all this just for older systems. Dune has a way to build on newer compilers but run with older ones - perhaps that could be used instead?

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

Successfully merging this pull request may close these issues.

2 participants