Tak, troff jest ukończony przez Turinga. Obsługuje dowolną rekurencję i rozgałęzienie warunkowe, co jest wystarczające. Posiada również rejestry i różne inne sposoby przechowywania danych, co daje kolejną ścieżkę.
Kompletność Turinga nie oznacza, że wysoce złożone programy są praktyczne - po prostu, że są teoretycznie możliwe, w jakiś sposób, na pewnym poziomie usunięcia - i nie oznacza to, że ich brak, więc ani troff nie jest Turingiem kompletnym, ani brak skomplikowanych programów nie sugeruje niczego w ten czy inny sposób.
Kompletność Turinga nie jest na ogół właściwością, która oznacza coś przydatnego dla użytkownika. Oznacza to tylko, że możesz na nim symulować maszynę Turinga, a nie to, że chcesz, i że wynik, który z niej uzyskasz, jest podobny do tego, co możesz przeczytać. Dane wejściowe lub wyjściowe mogą być po prostu liczbą, a nawet liczbą pojawień się czegoś, a nie czymś użytecznym, a rodzajami maszyn, które symulujesz, a ich programy są często ledwo zrozumiałe.
Wiele języków i systemów są incydentalnie Turinga kompletne, ale nie dość do jakiegokolwiek rzeczywistego programowania w tej podgrupie (np Gra w życie lub CSS), a niektóre z języków, które są przydatne dla prawdziwego programowania nie są Turing-complete (na przykład, Agda). Charakterystyczne cechy naprawdę są takie, że możesz
- idź wiecznie
- zapamiętaj tyle danych, ile chcesz
- wybierz, co jeszcze zrobić
Często te właściwości - szczególnie brak zakończenia - są w rzeczywistości niepożądane, być może nawet w przypadku troffa. Poza teoretyczną informatyką i projektowaniem języka, kompletność Turinga nie jest tak naprawdę interesującą właściwością w danym czasie, mimo że jest chwytliwa.