You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(would have a huge impact on compile times)
I implemented a POC of this a while ago in a branch, but would need revival.
for a symbol declaration, don't semcheck it until it's used in an imperative context, in fact this should be the same algorithm as the one used for cgen/jsgen, for which dead-code elimination happens automatically in a top down way
procfn1=discard# fn1 not semchecked yetprocfn2=fn1() # fn1 still not semchecked because fn2 is only declared, not usedwhendeclared(fn1): discard# still not using fn1 in imperative contextwhencompiles(fn2()): discard# this would trigger semcheck of fn2, which would trigger semcheck of fn1fn2() # ditto
(would have a huge impact on compile times)
I implemented a POC of this a while ago in a branch, but would need revival.
for a symbol declaration, don't semcheck it until it's used in an imperative context, in fact this should be the same algorithm as the one used for cgen/jsgen, for which dead-code elimination happens automatically in a top down way
links
The text was updated successfully, but these errors were encountered: