Prolog est principalement une langue ciblée à des problèmes logiques, en particulier à partir de l'AI et de la linguistique champs. Haskell est plus d'un usage général de la langue.
Prolog est déclarative (logique) de la langue, ce qui le rend plus facile à l'état logique des problèmes. Haskell est un langage fonctionnel et donc beaucoup mieux adapté aux problèmes informatiques.
Wikipédia sur la programmation déclarative:
En informatique, déclarative
la programmation est un paradigme de programmation
qui exprime la logique d'un
le calcul sans décrivant son
le contrôle de flux. Il tente de minimiser
ou d'éliminer les effets secondaires par
décrivant ce que le programme doit
accomplir, plutôt que de décrire comment
afin d'y parvenir. C'est
en revanche impératif de
la programmation, ce qui nécessite une détaillé
description de l'algorithme
exécuter.
Programmation déclarative envisager
les programmes comme des théories formelles
la logique et les calculs des déductions
dans cette logique de l'espace. Déclarative
la programmation est devenue de particulier
l'intérêt récemment, comme il peut grandement
simplifier l'écriture des programmes parallèles.
Wikipédia sur la programmation fonctionnelle:
En informatique, fonctionnelle
la programmation est un paradigme de programmation
qui traite de calcul que les
évaluation de fonctions mathématiques
et évite d'état et de données mutable. Il
met l'accent sur l'application de
fonctions, contrairement à la
la programmation impérative de style, qui
met l'accent sur les changements dans l'état.
La programmation fonctionnelle a ses racines
dans le lambda calcul, une mise en
le système développé dans les années 1930 à
enquêter sur la définition de la fonction,
fonction de l'application, et la récursivité.
De nombreux langages de programmation fonctionnelle
peuvent être considérés comme des embellissements pour les
lambda calcul.
En bref, un langage déclaratif déclare un ensemble de règles sur ce que les sorties doivent résultat à partir de laquelle les entrées et utilise ces règles pour en déduire une sortie d'une entrée, tandis qu'un langage fonctionnel déclare un ensemble de mathématique ou logique des fonctions qui définissent la façon dont la participation est traduit à la sortie.
Comme pour la question : aucun, que je sache, mais vous pouvez traduire Haskell à Prolog, ou de mettre en œuvre Prolog en Haskell :)