Простые предикаты Пролога в JavaScript - PullRequest
2 голосов
/ 09 июля 2011

Есть ли какой-нибудь проверенный способ объявления некоторых (простых) прологов предикатов и утверждения некоторых фактов в javascript клиентском коде?

Лучшее, что я смог найти, это http://www.csse.monash.edu.au/~lloyd/tildeLogic/Prolog.toy/Ch/04.Techn1.shtml, но похоже, что он вызывает какой-то серверный "игрушечный" интерпретатор.

Ответы [ 2 ]

1 голос
/ 08 января 2013

Я не эксперт по Прологу, и я думаю, что другие ответы дают отличный совет, но это может быть хорошей библиотекой для того, что вы делаете. Это действительно маленький.

Это добавляет логику к прототипу Array, и я мог бы представить себе его рефакторинг, чтобы сделать синтаксис чище ... но лично мне нравится, насколько он лаконичен.

Код содержит 2 примера.

http://tinlizzie.org/ometa/ometa-js-old/prolog-base.js

1 голос
/ 09 июля 2011

Приятной особенностью Prolog является то, что он имеет хороший механизм отслеживания и объединения, встроенный в сам язык. В Javascript (как, впрочем, и в большинстве языков) такого нет, поэтому нет возможности получить функциональность в стиле Prolog «бесплатно».

Конечно, вы можете написать интерпретатор для своего подмножества Prolog (или получить его как библиотеку откуда-то) и передать в него свои предикаты, закодированные в виде некоторой хорошей структуры данных JS.

Но тогда зачем вам это вообще нужно? Вам нужен только возврат? Вам нужно сложное объединение? Возможно, достаточно написать рекурсивную функцию поиска? Ваш вопрос не дает много деталей.

...