Praktische Sprachen, die nicht vollständig sind?

ahezu alle verwendeten Programmiersprachen sindTuring Complete, und während dies die Sprache bietet, um jedes @ darzustellberechenba Algorithmus, es kommt auch mit einem eigenen Satz von Probleme. Da alle Algorithmen, die ich schreibe, zum Anhalten gedacht sind, möchte ich sie in einer Sprache darstellen können, die garantiert, dass sie anhalten.

Reguläre Ausdrück wird für die Zuordnung von Zeichenfolgen und @ verwendfinite state machines werden verwendet, wenn lexing, aber ich frage mich, ob es eine allgemeinere Sprache gibt, die nicht vollständig ist?

bearbeiten Ich sollte klarstellen, dass ich mit "Allzweck" nicht unbedingt in der Lage sein möchte, alle Haltealgorithmen in der Sprache zu schreiben (ich glaube nicht, dass eine solche Sprache existieren würde), aber ich vermute, dass es beim Halten gemeinsame Themen gibt Beweise, die verallgemeinert werden können, um eine Sprache zu erzeugen, in der garantiert alle Algorithmen zum Stillstand kommen.

Es gibt auch einen anderen Weg, um dieses Problem zu lösen: Theoretisch unendlich viel Speicher muss nicht mehr benötigt werden. Sobald Sie die Speichermenge, in der sich der Computer befindet, begrenzt haben, ist die Anzahl der Status des Computers endlich und zählbar. Sie können daher bestimmen, ob der Algorithmus anhält (indem Sie nicht zulassen, dass der Computer in einen Status wechselt, in dem er zuvor war) ).

Antworten auf die Frage(16)

Ihre Antwort auf die Frage