-
Notifications
You must be signed in to change notification settings - Fork 154
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
PyK: Misc enhancements to KCFG and anti-unification #4775
PyK: Misc enhancements to KCFG and anti-unification #4775
Conversation
c0044cf
to
5d98e4a
Compare
@nishantjr it looks ilke you updated the Haskell and LLVM submodules both in your PR, is that intentional? In general, you shouldn't do that, because it missed updating all of the things like nix flake, pyproject.toml, and dependency list files. Can you back those changes out? |
416949f
to
9df8a74
Compare
Ugh, accidentally committed after a rebase. Fixed. |
@ehildenb I've pushed another change that exposes |
We remove all text that is obvious
Since these values are only used if keep_values is set, we do not need to always compute them. In addition, it avoids exceptions when the predicated cannot be converted to a bool expression: e.g. when using #Ceil I'm not sure why the terms need to be converted into Bool expressions (vs ML predicates) in the first place. Thus, while this is only a work-around (it would still break if keep_values=True), it lets us move forward without risking breaking other projects that rely on the original behaviour.
@nishantjr , looking at the CI failures, I think this test is the most telling one: |
Co-authored-by: Everett Hildenbrandt <[email protected]>
400f8a9
to
013e313
Compare
I re-triggered teh CI run, it was due to the haskell server becoming unavailable for some reason. Maybe changing the way that modules are built is causing some issues? But I figured it's worth re-triggering the run. Can you update the PR description so we get a good commit message? |
Thanks Everett. How does it look now? I've backed out one of the commits; will add in the test for it next week. |
Co-authored-by: Nishant Rodrigues <[email protected]>
45c0b09
into
runtimeverification:develop
KCFG: Shorten log message for easier readability
This brings the more important parts of the messages into focus.
CTerm.anti_unify: Don't call ml_pred_to_bool unless necessary
Since these values are only used if keep_values is set, we do not need to always
compute them. In addition, it avoids exceptions when the predicate cannot be
converted to a bool expression: e.g. when using #Ceil as a side condition
This is only a work-around (it would
still break for a #Ceil side condition, if keep_values=True), but lets us move forward without risking
breaking other projects that rely on the original behaviour.
pyk:KCFGShow.to_module: Thread imports and defunc_with parameters through to KCFG.to_module
This lets us use those options for printing the modules.