-
Notifications
You must be signed in to change notification settings - Fork 123
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
Backend refactor #928
Backend refactor #928
Conversation
At this point the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great; thanks for doing this! I'm excited about how much code reuse we should be able to get by using this part of the Cryptol API within saw-core.
of the `Backend` class into a separate module tree that doesn't depend on the `GenValue` type or the evaluator. The code doesn't compile at this point.
that created the `Backend` module tree. The main change here is that the `Cryptol.Eval.SBV` module was split into two, similar to how the concrete and What4 evaluators were already split. Various other small bits of code are rearranged to detangle module dependencies.
d465a6a
to
32ded2d
Compare
The `backend-refactor` PR renamed some cryptol modules.
Adapt cryptol-saw-core to GaloisInc/cryptol#928.
The `backend-refactor` PR renamed some cryptol modules.
The `backend-refactor` PR renamed some cryptol modules.
This PR untangles the
Backend
class and it's implementation from theEval
module subtree. This separates the concerns of different base-type value representation from the concerns of the evaluator proper and it's datatypes.This PR consists almost entirely of file moves and module import changes, and other small code motion required to get things to compile again. The largest change that isn't just a file move was the splitting of
Cryptol.Eval.SBV
into two parts, similar to how the other backends were already split.This sets the stage for reuse of the Backend class in other settings (e.g., saw-core).