Auto-hébergement (informatique)
Histoire
Le premier compilateur auto-hébergé (si l'on exclut les assembleurs) a été écrit pour le Lisp par Hart et Levin au Massachusetts Institute of Technology (MIT) en 1962[2].
Puisque les interpréteurs Lisp, mais non les compilateurs, existaient auparavant, ils utilisaient une méthode originale pour compiler leur compilateur. Le compilateur, comme tout programme Lisp, pouvait être exécuté dans un interpréteur.
Donc, il pouvait simplement exécuter le compilateur dans l'interpréteur lui donnant ensuite, son propre code source à compiler.
- Le compilateur tel qu'il existe sur la bande du compilateur standard est un programme en langage machine qui était obtenu en faisant que la définition du compilateur sous forme de S-expression travaille sur lui-même à travers l'interpréteur (AI Memo 39)[3].
Cette technique est aussi possible quand un interpréteur existe déjà pour le même langage qui est compilé.
Cela provient directement de la notion de tourner un programme avec lui-même comme entrée, ce qui est aussi utilisé dans des preuves variées en informatique théorique telles que celles de l'indécidabilité du problème de l'arrêt.