Skip to content

Commit 066bf99

Browse files
committed
compiler: replace disjunctions
Had to move the logic into a separate function to avoid stack overflows, because we are recursing very large/complex functions. Other than that I tried to preserve the existing logic; I will double-back and refactor in a different commit. I also removed all the unused code from AstElemExt::type_check, since it would no longer compile -- I changed the disjunction code to take the left/right weights as parameters rather than storing them in the AstElemExt object. The goal here is to remove the `branch_prob` field entirely, which will then let us make AstElemExt immutable, which will unlock some further refactorings. But until I'm done this, I have to just shuffle around the existing logic and the result is pretty big/ugly.
1 parent 7475b3d commit 066bf99

1 file changed

Lines changed: 231 additions & 254 deletions

File tree

0 commit comments

Comments
 (0)