-
Notifications
You must be signed in to change notification settings - Fork 42
EXPERIMENT: refactor graph traversal to replace leavesM
#3163
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
EXPERIMENT: refactor graph traversal to replace leavesM
#3163
Conversation
…red-leaf-count-refactor-leavesM * Simplifier as a base monad
Semantics of TraversalResult (failure cases): - When `GotStuck` is returned, the returned results are considered stuck and thrown as an exception; - when `Aborted` is returned, the returned results are _analysed_ and their _next_ states (to enqueue) are considered stuck and thrown.
leavesM
|
Performance gain is currently around 1% across the kevm proofs.
|
| <$> runTransitionT (applyGroup is config) | ||
|
|
||
| applyGroup :: Step -> config -> TransitionT rule m config | ||
| applyGroup is c = foldM (flip applyPrim) c is |
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 seems to be a problem with cabal but not with stack - we should consolidate dependency versions more thoroughly IMHO
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.
I added import Control.Monad(foldM) to make cabal happy again.
| debugBeforeTransition, | ||
| debugFinalTransition, | ||
| ) | ||
| import Kore.Log.InfoExecBreadth |
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.
Needs to be added to the GraphTraversal where the queue operation now lives.
…red-leaf-count-refactor-leavesM
0ae648e to
b79fa99
Compare
b08902c to
3719858
Compare
|
|
When using
|
|
|
|
|
|
Replaced by #3168 |
Relates to #3119
Scope:
A more integrated version of
leavesMalong its use inproveClaim, describing different return values as data instead of using exceptions.We could further monomorphise it to use the simplifier monad (including logging) at the bottom of the monad stack.
Estimate:
Review checklist
The author performs the actions on the checklist. The reviewer evaluates the work and checks the boxes as they are completed.