Open tothambrus11 opened 2 months ago
About the &
mark, I think it's a chosen style, indeed in the Stdlib every infix operator is defined in that way. However changing it is easy in the Emitter.
About the global state , I have checked and is effectively declared as immutable in the data segment, but for some reason it escapes the exclusivity law check I still didn't figure out why.
It's not about exclusivity but immutability. The program shows a compiler bug. Global bindings are immutable.
The compiler doesn't seem to take into account the immutability of global let bindings, so the following program compiles and runs happily:
This makes it possible to introduce sneaky side-effects through global variables.