Skip to content

fix evalLand empty-branch guard and propagate INSTANCE substitutions in evalUserBoundOp#84

Open
mmsqe wants to merge 13 commits into
will62794:masterfrom
mmsqe:fix_substitution
Open

fix evalLand empty-branch guard and propagate INSTANCE substitutions in evalUserBoundOp#84
mmsqe wants to merge 13 commits into
will62794:masterfrom
mmsqe:fix_substitution

Conversation

@mmsqe
Copy link
Copy Markdown
Contributor

@mmsqe mmsqe commented Mar 17, 2026

  • dd8824a: evalLand assumed both LHS and RHS always produce non-empty boolean results. When a branch returned [], it could access invalid values and throw instead of returning no branch.
  • cc2cbd6: evalUserBoundOp did not always carry INSTANCE ... WITH substitutions into evaluation of imported operator definitions, substituted identifiers could be resolved in wrong context and lookup fails.
  • 72ff13d: fixed implicit substitution handling for module instantiation, so symbols already in scope can be resolved implicitly without requiring redundant explicit self-substitutions.

mmsqe added a commit to mmsqe/blockstm-spec that referenced this pull request Mar 18, 2026
yihuang pushed a commit to yihuang/blockstm-spec that referenced this pull request Mar 24, 2026
* add safe check for Executor and Tx evaluation

fix

* align executor replay semantics

refactor Executor transitions to compute reads/validation locally

* align spectacle

* add Storage and mem to instance substitution

cleanup

* revert substitutions fix

no need after fix in will62794/spectacle#84

* Revert "align spectacle"

This reverts commit c0e2efe.

* switch page

* revert workaround
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