В этой статье автор утверждает:
... программа действительно показала, что механизм создания экземпляров шаблона представляет собой примитивный рекурсивный язык, который может выполнять нетривиальные вычисления во время компиляции.
Я нашел это довольно интересным, так как я помогаю вести класс по теории вычислений, который углубляется в теорию примитивных рекурсивных функций. Однако у меня сложилось впечатление, что шаблонное метапрограммирование было полным по Тьюрингу, что является строго более сильным утверждением, чем сказать, что оно примитивно-рекурсивно... И, в конце концов, не очень сложно создать шаблонную метапрограмму, которая не останавливается. .
Я что-то пропустил? Является ли шаблонное метапрограммирование строго примитивным рекурсивным языком, или я прав, полагая, что он охватывает более широкий спектр программ?