Talk:TwoDucks
From Esolang
[edit] TwoDucks isn't necessarily uncomputable (I think)
If a time expression is encountered which alters something in an earlier time, then the interpreter could then rewind the program back to that time, change whatever is being altered, then fast-forward to where it was.
If this were to cause a paradox (i.e. stop the alteration of the past, or to change it), this could (although it probably won't be easy) be detected, and an error message displayed. "Paradox!" or something like that.
The main problem is I/O:
- Input could just be saved and re-entered when fast-forwarding. Or a new input prompt could be created.
- Output could be removed from the display when rewinding, and reprinted (with whatever changes) on fast-forward. Or the new output could just be displayed after the old.
Modifying stuff in the future is also possible - just save the potential alteration, and when the interpreter gets to the correct time, silently replace the value.
This way of doing things does NOT allow you to solve the halting problem -- the test program will have to be run to completion before the assignment occurs -- there is no way to always tell if will terminate, until it does.
Alksentrs 21:53, 24 December 2007 (UTC)
- Actually, it does solve the halting problem, because it actually travels back in time. the problem is, it's impossible to implement (at least not on a turing machine, and maybe even physically impossible). if you tried implementing it, you're right that the program would have to run to completion first. anyway, awesome idea for a language.Afarnen 23:49, 27 February 2008 (UTC)

