On Tuesday, 27 December 2011 at 20:11:32 UTC, Joshua Reusch wrote:
Am 27.12.2011 20:51, schrieb Vladimir Panteleev:
On Tuesday, 27 December 2011 at 19:46:31 UTC, Joshua Reusch
wrote:
Am 27.12.2011 20:35, Vladimir Panteleev wrote:
Halting problem?
Makes an not-stopping pure function really sense?
No, but you don't know if the user is expecting the function
to take a
long time to run, or it's stuck due to a bug.
If the function gets evaluated at compile-time, also the
loop/recursion conditions are known.
We're back at the halting problem. There are heuristics, but you
can't know for sure.
For example:
for (auto i=arr.length-1; i>=0; i--)
On 64-bits, i will be 64 bits too (because arr.length is size_t).
Since it's unsigned, the loop will wrap, and it'll take a very
long time until it'll reach a state it's been in before.