Systemy Prolog w Javascript [zamknięty]

Javascript wydaje się być popularny jako język implementacyjny dla innych języków programowania. Artykuł Lekka kompilacja (C)LP do JavaScript. ICLP 2012 zwrócił na to moją uwagę.

Istnieje wiele prototypów proof-of-concept dla Systemów Prolog napisanych w Javascript w Internecie.

Jakie są aktualne, aktywnie utrzymywane, najlepiej zgodne z ISO Systemy Prolog napisane w Javascript?

Author: Erik Allik, 2013-03-15

1 answers

Jedynym prologiem w JavaScript jaki znam jest YieldProlog , ale nie próbowałem go intensywnie, tylko kod dostępny w QueryEditor.

Miałem nadzieję, że zamiast używać yield construct będzie lekki (używałem szeroko takiego construct w C#, i znalazłem go-sparowany z lambda - raczej potężny).

Ale kiedy sprawdzałem (sumarycznie) źródło, uznałem to za bardzo złożone, pomimo założeń.

edit

Znalazłem ostatnio te wkłady, które wydają się naprawdę interesujące: proscript i proscript2 .

edit

Dostępna jest nowa implementacja:

Tau Prolog , zwrócił moją uwagę od Jana na liście dyskusyjnej SWI

edit

Coś nowego, hhprolog , czysty silnik Prolog, oparty na kodzie i dokumentacji dostarczonej przez Paula Tarau, przeportowanej przeze mnie do Javascript. Tak więc, dostępne zarówno w przeglądarkach, jak i NodeJS.

Projekt jest jeszcze wstępne, najczęściej potrzebne jest bootstrap do interpretera: w tej chwili (pre)kompilacja Prologa do (nowej) maszyny wirtualnej musi być wykonana z zainstalowanym SWI-Prolog, poprawnie skonfigurowanym (potrzebny JPL).

Aby zaimplementować taki bootstrapping, prawdopodobnie musiałbym zaimplementować negację, ponownie użyć interfejsu Paula, albo-lepiej-spróbować zaimplementować coś pozostającego w czystym paradygmacie. W szczególności, tylko nieograniczona arytmetyka całkowita (znowu przez Paula Tarau, jest jakiś Python kod dostępny - postaram się leniwie portować do Javascript).

 14
Author: CapelliC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-10-04 21:30:55