Skip to content

Conversation

mikebenfield
Copy link
Collaborator

No description provided.

@mikebenfield
Copy link
Collaborator Author

This still needs changes to the interpreter itself, and it depends on a SnarkVM PR of mine, so we won't be able to merge it for a while.

But I realized while updating const propagation last week that the interpreter's hashes and commits don't always produce identical results to SnarkVM, and decided to just change the Value type to wrap SnarkVM's Value and to call SnarkVM's hash and commit functions.

@mikebenfield mikebenfield force-pushed the interpreter-uses-snarkvm branch 2 times, most recently from d88821e to 4079286 Compare June 5, 2025 20:48
@mikebenfield
Copy link
Collaborator Author

Alright, here's an update. The two Values are unified into LeoValue, which wraps SnarkVM's Value. Const propagation is run again as a later optimization, propagating through let.

The interpreter is in a broken state at the moment, not completely converted to use the new LeoValue. I'll fix it in yet another update.

Some of the tests need to be checked up on, as they may be pointless or at least have different utility than before, now that const propagation does a lot more.

@mikebenfield mikebenfield force-pushed the interpreter-uses-snarkvm branch from 4079286 to ab5dcbb Compare June 15, 2025 19:13
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.

1 participant