Oui, troff est Turing-complete. Il prend en charge la récursion arbitraire et la ramification conditionnelle, ce qui est suffisant. Il a également des registres et diverses autres façons de stocker des données, ce qui vous donne à nouveau un autre chemin d'accès.
L'exhaustivité de Turing n'implique pas que des programmes très complexes sont pratiques - juste qu'ils sont théoriquement possibles, d'une manière ou d'une autre, à un certain niveau de suppression - et son absence n'implique pas non plus qu'ils ne le sont pas, donc ni Troff n'est Turing-complet ni L'absence de programmes complexes ne suggère pas grand chose dans un sens ou dans l'autre.
Turing l'exhaustivité n'est généralement pas une propriété qui signifie quelque chose d'utile pour vous, l'utilisateur. Tout ce que cela signifie, c'est que vous pouvez simuler une machine de Turing avec elle, pas que vous le souhaitiez, et non que la sortie que vous en obtiendriez ressemble à ce que vous vous attendez à lire. L'entrée ou la sortie peut être simplement un nombre, ou même le nombre de fois où quelque chose apparaît, plutôt que quelque chose d'utile, et les types de machines que vous finissez par simuler et leurs programmes sont souvent à peine compréhensibles au départ.
De nombreux langages et systèmes sont accessoirement Turing-complete mais ne s'appliquent raisonnablement à aucune programmation réelle dans ce sous-ensemble (par exemple, Conway's Game of Life ou CSS), et certains langages qui sont utiles pour la programmation réelle ne sont pas Turing-complete (par exemple, Agda). Les caractéristiques déterminantes sont que vous pouvez
- continue pour toujours
- rappelez-vous autant de données que vous le souhaitez
- choisir quoi, le cas échéant, faire ensuite
Souvent, ces propriétés - en particulier la non-terminaison - sont en fait indésirables, y compris éventuellement pour les troff. En dehors de l'informatique théorique et de la conception du langage, l'exhaustivité de Turing n'est pas une propriété terriblement intéressante pratiquement du temps, bien qu'elle soit accrocheuse.