Il y a environ dix ans, après une journée de conférence, je me suis retrouvé dans un pub avec Erwin Unruh et quelques autres et je lui ai posé des questions sur le programme mentionné par VJovic . Nous avons déjà eu quelques bières à ce moment-là, c'était une réunion officieuse, et cela a vécu dans ma tête pendant une décennie, alors prenez cela avec un grain de sel, mais selon mes souvenirs:
Il a dit qu'ils avaient ajouté des fonctionnalités de modèle afin de mieux servir la STL. Selon lui, certains / plusieurs membres du comité ont estimé qu'ils créaient quelque chose sans en connaître toutes les capacités. Il soupçonnait lui-même que tous les trucs de modèles, en particulier la spécialisation si partielle, constituaient un langage complet de Turing, et il avait toujours voulu en faire une preuve formelle, mais il ne s'en est jamais sorti.
Au lieu d'une nuit, lors d'une réunion de normalisation, il a proposé ce programme qui imprimait les nombres premiers sous forme de messages d'erreur (une version qui devrait fonctionner avec les compilateurs modernes est ici ) qu'il a calculé pendant la compilation. En tant que méta-programme modèle, il n'est pas très impressionnant par rapport aux normes d'aujourd'hui, mais c'était une première, après tout. Quelqu'un a fait ce qu'il considérait comme une plaisanterie en soumettant officiellement le programme afin qu'il devienne un document officiel de normalisation ISO.
Je me souviens que je lui ai spécifiquement posé des questions sur la réaction de Bjarne Stroustrup au programme, et en réponse Erwin l'a imité en se couvrant les yeux avec sa main. :)
Avec le recul, je regrette de n'avoir pas demandé à Todd Veldhuizen , qui était également présent à cette conférence, comment il avait trouvé des modèles d'expression . (Il était certainement un bon gars à qui parler.) Mais j'étais beaucoup plus jeune que, et j'ai laissé passer l'opportunité de toute une vie.:(