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

Make it possible to re-use a single solver connection for multiple type checker invocations #996

Closed
brianhuffman opened this issue Dec 4, 2020 · 2 comments
Assignees
Labels
cryptol-as-a-library Uses of Cryptol from Haskell

Comments

@brianhuffman
Copy link
Contributor

This ticket is inspired by GaloisInc/saw-script#953. Basically, in saw we often want to parse and typecheck a large number of cryptol expressions. However, currently the typechecking API requires us to open a new solver connection every time we run the type checker, which requires starting a process, and then parsing CryptolTC.z3 and sending it to the solver. If you have to do this hundreds of times, the cost adds up.

I would like to be able to manually initialize a connection and then store the Solver handle somewhere, so I can reuse the same one for lots of different calls to the type checker.

@robdockins
Copy link
Contributor

It is desirable to reduce further the number of times we fork a Z3 instance, so I'm going to reopen this issue to track the task of pushing the typechecking solver instance all the way to the top level of both the REPL and the remote Cryptol API servers.

@robdockins robdockins reopened this Mar 23, 2021
@robdockins robdockins removed this from the 2.11.0 milestone Mar 23, 2021
@robdockins
Copy link
Contributor

Fixed again via #1128

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cryptol-as-a-library Uses of Cryptol from Haskell
Projects
None yet
Development

No branches or pull requests

3 participants