Haskell (probably the language most likely to be used for a universe simulation, at least at present technology levels) >follows lazy evaluation: a value is not calculated unless it is used.
In that case, why does the simulation need to be running all the time? Wouldn’t one just ask the fancy, lambda-derived software to render whatever specific event one wanted to see?
If on the other hand whole_universe_from_time_immemorial() needs to execute every time, which of course assumes a loophole gets found to infinitely add information to the host universe, then presumably every possible argument (which includes the program’s own code—itself a constituent of the universe being simulated) would be needed by function anyway, so why not strict evaluation?
And both of these cases still assume we handle time in a common sense fashion. According to relativity, time is intertwined with the other dimensions, and these dimensions in turn are an artifact of our particular universe, distinctive characteristics created at the Big Bang along with everything else. Therefore, it then seems likely give_me_the_whole_universe() would have to execute everything at once—more precisely, would have to excite outside of time—to accurately simulate the universe (or simulation thereof) we observe. Even functional programming has to carry out steps one after the other, requiring a universe with a time dimension, even if the logic to this order is different from that of traditional imperative paradigms.
In that case, why does the simulation need to be running all the time? Wouldn’t one just ask the fancy, lambda-derived software to render whatever specific event one wanted to see?
Indeed we would. If you believe we are such a simulation, that implies the simulator is interested in some event that causally depends on today’s history. I don’t think this matters though.
And both of these cases still assume we handle time in a common sense fashion. According to relativity, time is intertwined with the other dimensions, and these dimensions in turn are an artifact of our particular universe, distinctive characteristics created at the Big Bang along with everything else. Therefore, it then seems likely givemethewholeuniverse() would have to execute everything at once—more precisely, would have to excite outside of time—to accurately simulate the universe (or simulation thereof) we observe. Even functional programming has to carry out steps one after the other, requiring a universe with a time dimension, even if the logic to this order is different from that of traditional imperative paradigms.
Causality is preserved under relativity, AIUI. You may not necessarily be able to say absolutely whether one event happened before or after another, but you can say what the causal relation between them is (whether one could have caused the other, or they are spatially separated such that neither could have caused the other). So there is no problem with using naive time in one’s simulations.
Are you arguing that a simulatable universe must have a time dimension? I don’t think that’s entirely true; all it means is that a simulatable universe must have a non-cyclic chain of causality. It would be exceedingly difficult to simulate e.g. the Godel rotating universe. But a universe like our own is no problem.
In that case, why does the simulation need to be running all the time? Wouldn’t one just ask the fancy, lambda-derived software to render whatever specific event one wanted to see?
If on the other hand whole_universe_from_time_immemorial() needs to execute every time, which of course assumes a loophole gets found to infinitely add information to the host universe, then presumably every possible argument (which includes the program’s own code—itself a constituent of the universe being simulated) would be needed by function anyway, so why not strict evaluation?
And both of these cases still assume we handle time in a common sense fashion. According to relativity, time is intertwined with the other dimensions, and these dimensions in turn are an artifact of our particular universe, distinctive characteristics created at the Big Bang along with everything else. Therefore, it then seems likely give_me_the_whole_universe() would have to execute everything at once—more precisely, would have to excite outside of time—to accurately simulate the universe (or simulation thereof) we observe. Even functional programming has to carry out steps one after the other, requiring a universe with a time dimension, even if the logic to this order is different from that of traditional imperative paradigms.
Indeed we would. If you believe we are such a simulation, that implies the simulator is interested in some event that causally depends on today’s history. I don’t think this matters though.
Causality is preserved under relativity, AIUI. You may not necessarily be able to say absolutely whether one event happened before or after another, but you can say what the causal relation between them is (whether one could have caused the other, or they are spatially separated such that neither could have caused the other). So there is no problem with using naive time in one’s simulations.
Are you arguing that a simulatable universe must have a time dimension? I don’t think that’s entirely true; all it means is that a simulatable universe must have a non-cyclic chain of causality. It would be exceedingly difficult to simulate e.g. the Godel rotating universe. But a universe like our own is no problem.