Cerca de uma década atrás, depois de um dia de conferência, encontrei-me em um pub com Erwin Unruh e alguns outros e perguntei-lhe sobre o programa mencionado por VJovic . Já tomamos algumas cervejas até então, foi uma reunião não oficial, e ela vive na minha cabeça há uma década, então leve isso com um pouco de sal, mas de acordo com minhas lembranças:
Ele disse que eles adicionaram recursos de modelo para servir melhor o STL. Segundo ele, alguns / muitos no comitê sentiram que estavam criando algo sem conhecer todas as suas capacidades. Ele próprio suspeitava que todo o material do modelo, especialmente a especialização parcial, criava uma linguagem completa de Turing, e ele sempre quis fazer uma prova formal disso, mas nunca se deu bem com isso.
Em vez disso, uma noite em uma reunião de padronização, ele apresentou o programa que imprimia números primos como mensagens de erro (uma versão que deve funcionar com os compiladores modernos está aqui ) que ele computou durante a compilação. Como um metaprograma de modelo, ele não é muito impressionante pelos padrões de hoje, mas foi o primeiro, afinal. Alguém fez o que ele considerou uma piada enviando formalmente o programa para que ele se tornasse um documento oficial de padronização da ISO.
Lembro que lhe perguntei especificamente sobre a reação de Bjarne Stroustrup ao programa e, em resposta, Erwin o imitou, cobrindo os olhos com a mão. :)
Em retrospectiva, lamento não ter perguntado a Todd Veldhuizen , que também estava naquela conferência, como ele criou modelos de expressão . (Ele certamente era um bom sujeito para conversar.) Mas eu era muito mais jovem e deixei passar a oportunidade da vida.:(