Commit 066bf99
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
0 commit comments