Notre implémentation de Prolog a montré que ce langage est utilisable en vraie grandeur (par exemple, 13000 lignes pour le compilateur et les librairies de base). Cependant, il reste beaucoup à faire pour l'améliorer. Premièrement, nous n'avons exploré que les traits propres à Prolog, en nous contentant d'une implémentation simple, mais raisonnable, des traits communs avec Prolog. Beaucoup de travail portant sur les traits Prolog pourrait être importé en Prolog, en faisant toutefois attention que les invariants de Prolog ne sont pas ceux de Prolog.
En particulier, beaucoup de travail a été fait en Prolog sur le thème de l'analyse statique et globale de programme. Ces travaux n'ont eu qu'un impact moyen sur les systèmes Prolog courants, mais il existe un système de programmation logique, appelé Mercury [Somogyi et al. 96], qui est très pragmatique et où l'analyse statique et globale des programmes est centrale. Les propriétés d'intérêt pour le système Mercury sont les modes*, la directionnalité* des prédicats et leur multiplicité*. Cela permet entre autre au compilateur Mercury de calculer un ordonnancement efficace des buts. Le caractère pragmatique de Mercury vient de ce que ce calcul est rendu efficace par des restrictions portant sur les programmes. Dans notre implémentation de Prolog, nous faisons bien sûr une analyse statique des programmes (détection de combinateurs, allocation de registre, etc.), mais elle n'est jamais globale car elle ne prend jamais en compte les interactions entre prédicats. Nous pourrions l'étendre à des propriétés globales en adoptant le même esprit pragmatique de Mercury.
Deuxièmement, même pour les traits propres à Prolog, nous n'avons pas été aussi loin que nous l'aurions souhaité. Par exemple, il reste beaucoup à faire pour que l'usage de l'implication soit aussi efficace que possible. En particulier, l'utilisation de l'implication pour structurer les programmes Prolog comme on peut le faire à l'aide du let en ne pourra se faire que s'il n'y a pas de coût associé.
On pourrait aussi étudier des propriétés spécifiques à Prolog comme le fait de savoir si les arguments d'un prédicat sont passés en forme normale ou non. Enfin, quelques aspects ont été traités de manière conservatoire faute d'une idée claire de ce qu'il fallait faire. Dans certains cas, des avancées théoriques sont intervenues pour faire avancer le problème, et elles ont des conséquences sur l'implémentation. C'est le cas du typage paramétrique. L'implémentation de Prolog à la lumière de l'approche pragmatique de Mercury nous semble donc une tâche utile et intéressante.