In the past, we desugared global variables to instead use zero-argument functions as an encoding trick. However, it was ad-hoc and introduced shadowing between local variables and global functions.
After getting rid of this, we changed the back-end to support global variables directly, but this was also messy.
Yihong and I propose a new pass that takes care of this problem my doing the old encoding trick in a more principled way.
Don't forget to omit these encoded functions from visualizations and extraction!
In the past, we desugared global variables to instead use zero-argument functions as an encoding trick. However, it was ad-hoc and introduced shadowing between local variables and global functions. After getting rid of this, we changed the back-end to support global variables directly, but this was also messy.
Yihong and I propose a new pass that takes care of this problem my doing the old encoding trick in a more principled way.
Don't forget to omit these encoded functions from visualizations and extraction!