11
votes

Programmation logique non-PROG

Y a-t-il des bonnes langages de programmation logique basée sur PRAGolog ou PROGology?

Qui a ou une bonne expérience avec elle?


2 commentaires

En haut de mon schéma de tête et Lisp viennent à l'esprit ... Quel type d'application essayez-vous de développer?


@Brian Driscoll Bien que le module de programmation logique puisse être développé dans des langages de programmation fonctionnelle tels que Lisp / Scheme, mais au sens direct - non, ils n'appartiennent pas à Programmation logique Catégorie de langue.


7 Réponses :


2
votes

Vous pouvez vérifier les clips. Il est structuré comme Lisp (beaucoup de parens), mais il est conçu pour la construction de systèmes d'experts; Je n'ai pas vu de problème que Prologs résout que les clips ne pouvaient pas. Comme Prolog, c'est basé sur des faits de construction, puis d'exploiter des requêtes contre eux.


1 commentaires

L'approche est différente cependant. Clips est un "système basé sur des règles de chaînage en avant" (comme JESS est pour Java), contrairement à Prolog qui est une "Système basé sur les règles en chaînage en arrière (sur la base d'un fragment de logique classique de premier ordre et d'un" prouveur théorique "constructif spécifique. C'est ce que les pièces non logiques sont ce qui le fait vivre. Maintenant ... être basé sur" logique "On a un plan général ce qui est calculé, contrairement aux chariots avant, où ce qui se passe réellement est beaucoup moins clair.



8
votes

Je recommande vivement Le schémeur raisonné, de Dan Friedman, Oleg Kiselyov et Byrd . Il introduit Minikanren, un petit (trois opérateurs principaux) Langage de programmation logique Construit au sommet. C'est une joie d'utiliser, en particulier avec le matche < / a> macro qui permet des correspondances de motif unificateur.


0 commentaires

4
votes

J'ai été initié à DLV et à des modèles grâce à la programmation de réponses, qui est essentiellement une programmation logique.


0 commentaires

8
votes

Réponse Set Programming est un paradigme de programmation logique extrêmement puissant. J'ai eu beaucoup de succès avec le Fermoir / clingo Reshant Set Solver .


0 commentaires

1
votes

Mercure et Oz Spring à l'esprit. Il existe également de la version Datalog qui est une version restreinte (non tenue complète) de Prolog.


0 commentaires

3
votes

Jetez un coup d'œil aux assistants des résistants aux théorèmes, comme coq , HOL et Isabelle .

Certains systèmes de type (par exemple, dans agda2 ) peuvent être considérés comme logique programmation aussi.


2 commentaires

Je ne sais pas si il est précis de classer Coq comme langage de programmation logique. Est-il capable de résoudre Problèmes de satisfaction de contrainte de la même manière que le prologue le fait?


Il serait peut-être possible de faire unification et de retour en arrière en Coq, mais il a toujours Plusieurs bugs qui n'ont pas encore été corrigés.