4 ms·
> you are violating a logical constraint of the system I'm looking for something even a little more concrete than this. Why would the program be invalid? Can y
by sullyj3 7y ago
> you are violating a logical constraint of the system
I'm looking for something even a little more concrete than this. Why would the program be invalid? Can you give an example of what would happen if we just went ahead and accessed a worldstate a second time, logical constraints be damned?
- goto11 7y agoOne of the operations using the same worldstate might not get executed, or the operations might happen in unpredictable order.
- gmfawcett 7y agoIn a language like Mercury where the IO states are explicit, this would be true. You can run IO in reverse in Mercury if you want: main(IO_In, IO_Out) :- print_line("This will print last", IO_1, IO_Out), print_line("This will print first", IO_In, IO_1). But in Haskell, the world states aren't accessible to the programmer. It's misleading to suggest what could happen in Haskell if you reused a world state, because it's impossible to do so.