Emit-C: A time travelling programming language
github.com
github.com
err, I mean. I have not! What's that?
It's great how we can all make our own decisions when communicating, and can ignore judgement from people who say that they are "necessary". You're treating fragmede like they brought up "/s" as some sort of virtue signaling, when they were pushing back on porcoda for attempting to impose controversial new-age grammar.
Not all people in all situations will read a thing as sarcastic — e.g. your response to a post might be sarcastic, but the three comments next to it which were not there when you wrote it, might produce a context in which it would be read as serious by most people without neither you or your readers being at fault. But you have the power to clarify and at least on this platform a unneeded /s has more benefits than disadvantages IMO.
This is what satire is.
Some say it was a temporal distortion field around the 68000 increasing clock speed by 900%
Some say it was the code name for programmers working 140 instead of 80 hours a week writing assembly.
Some say it is something to do with streaming realtime pixel data to the graphics chip for high-color graphical image rendering
If you ask me, though, time distortion
https://dl.acm.org/doi/10.1145/37499.37508
I wrote a paper with Jonathan Edwards around the concept of managed time a while back also:
https://www.microsoft.com/en-us/research/publication/program...
But this is more like time traveling as an explicit first class thing, rather than just a way to make things consistent wrt to concurrency or live programming. I don’t think first-class time travel has been explored so much yet.
* Can we have a multi-verse?
* We really need to be able to kill a variable but have it linger on for a while. This is to allow revenge, and...
* Our whole paper is about Bob/Alice going back in time, shooting his/her grandfather, who lingers long enough to sire their father's brother Tom, who marries their mother instead, who gives birth to Alice/Bob, who although now their own cousin is still a murderous beast, goes back in time and shoots at their grandfather, misses, kills Tom instead, thus their original father marries their mother, and Bob/Alice is born. Thus demonstrating local paradoxes with meta-consistency and explaining much in our current timeline. We're gonna get an A+ for sure.
* We suggest storing the metaverse as a directed cyclic graph of the operations and not saving state. To collapse the metaverse (in the quantum physics sense, not in emiT's oh-no-everything-is-impossible sense) simply apply the graph to a set of pre-conditions, and as you process each node apply its state constraints to the metaverse state. Handling the node cycles is normally seen as a challenge, but there's some sample code posted on HN in March, 2028 that should make it a breeze.
invokes quite some bitemporal associations..
btw speaking of time-warping, anyone know what's the situation with Dynamic Time Warping [1], i.e. non-linear timeline (think wow-and-flutter of a tape-player, or LP-player). Last time i checked it was computationaly prohibitive to try use it for like sliding-window-search (~convolution) over megabytes of data?
Store it in a variable and wait for a while? :P
Of course you should still carry out the computation to prevent a paradox.
Some programs won't halt even after forever, in the sense of an infinite number of time stops. For example, if you want to test properties of (possibly infinite) sets of natural numbers, there's no search strategy that will go through them even in infinite time.
(Footnote that I'm assuming, I think reasonably but who knows what CSists have been up to?, a model of computation that allows the performance of countably, but not uncountably, many steps.)
A starts computation. If it halts A sends a result, otherwise it won't.
B sees the result in a finite time. If it doesn't, the program didn't halt.
If time is discrete, it won't fly I think. This works because there is no smallest time unit in gr.
We are working with different types of infinities. A's computational steps take, the further B goes in, less time. Sort of Zeno's paradox. It is easy to map all natural numbers between 0 and 1 on the real line. Just not 1 to 1.
There are more problems.
How to get the information out and how to survive the divergent blue shift, it is somewhat unclear. B cannot talk back. But still a cool find.
For the usual meaning of the term, you certainly can construct a 1-to-1 (that is, injective) map N \to [0, 1] (for example, n \mapsto 10^(-n)); the natural numbers just can't be mapped onto [0, 1] (that is, the map can't be surjective). That's the opposite of the problem we have: it's saying you can losslessly encode a countable amount of information in an uncountable amount of space; but I'm saying conversely that you can't perform an uncountable number of steps in a countably infinite amount of time.
But uhm, if you actually want the future to affect the past formally, that is going to be something really different, so I’m not really sure.