POV-Ray : Newsgroups : povray.pov4.discussion.general : I want to be rid of my stupid mistakes : Re: I want to be rid of my stupid mistakes Server Time
30 Apr 2024 21:04:41 EDT (-0400)
  Re: I want to be rid of my stupid mistakes  
From: clipka
Date: 21 Jul 2009 22:10:00
Message: <web.4a6674c397aca271785322500@news.povray.org>
"scott" <sco### [at] scottcom> wrote:
> Agreed.  Although I still think you could detect some common infinite loop
> situations without breaking any existing behaviour.

The problem here, and the point some of us are trying to make, is that those
"common infinite loop situations" would be riddled with "uncommon finite loop
situation" exceptions, which all would have to be tested for in order to not
break anything.

As for an exhaustive test, it is absolutely *impossible* to do:

POV-Ray's SDL is "Turing-complete", a term from theoretical informatics roughly
eqivalent to saying, "you can use it to write *any* program you can ever
imagine" (leaving aside memory and performance constraints, that is).

Now there is a problem in theoretical informatics known as the "halting
problem": Given an arbitrary program and an arbitrary input, decide whether the
program will ultimately finish, or instead run forever. In 1936, Alan Turing
proved that for the general case of a Turing-complete engine, this halting
problem is *not* decidable - in other words, for each and every Turing-complete
programming language it is *impossible* to come up with a generic algorithm that
can predict from any given program and any given starting conditions whether it
will enter an infinite loop or not.

It is possible to restrict a computer language in such a way as to force the
halting problem to be decideable for that engine, but only at the cost of no
longer being Turing-complete, i.e. reduction of *some* functionality.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.