Prolog* est un langage de programmation logique présenté en deux temps* par Dale Miller et Gopalan Nadathur à partir de 1986. Dans un premier temps [Miller et Nadathur 86b, Nadathur 87], le premier langage du nom ne comportait qu'une partie de ce qu'on entend actuellement par Prolog : les -termes* et l´ordre supérieur*. Les autres capacités sont venues dans un second temps [Miller 86, Miller et al. 87, Nadathur et Miller 88, Miller 89a] sous la forme d'expressions logiques qui n'étaient pas autorisées en Prolog*.
Nous rappelons quelques notions générales de la programmation logique et nous montrons comment elles n'impliquent pas que la programmation logique se limite à la programmation en clause de Horn*. Ensuite, nous décrivons plus précisément Prolog sous l'angle d'une classe d'applications : la métaprogrammation*.