Visueller Prolog - Visual Prolog

Visueller Prolog
Visual Prolog IDE Screenshot.png
Paradigma Multiparadigma : logisch , funktional , objektorientiert , zwingend
Entwickler PDC A/S
Stabile Version
10 Bau 1002 / 19. Juli 2021 ; vor 0 Tagen ( 2021-07-19 )
Schreibdisziplin statisch , stark , abgeleitet
Betriebssystem Microsoft Windows
Lizenz Proprietär
Webseite www .visual-prolog .com

Visual Prolog , früher bekannt als PDC Prolog und Turbo Prolog , ist eine stark typisierte objektorientierte Erweiterung von Prolog . Als Turbo Prolog wurde es von Borland vermarktet, wird aber jetzt von der dänischen Firma Prolog Development Center (PDC) entwickelt und vermarktet, die es ursprünglich entwickelt hat. Visual Prolog kann Microsoft Windows GUI- Anwendungen , Konsolenanwendungen , DLLs (Dynamic Link Libraries) und CGI- Programme erstellen. Es kann auch über ODBC mit COM-Komponenten und Datenbanken verbunden werden .

Logische Sprachen werden traditionell interpretiert , aber Visual Prolog wird kompiliert . Dies stellt die wichtige Verbesserung dar, traditionelle Prolog-typische Laufzeitfehler in Compiler-Warnungen umzuwandeln , was für eine bessere Robustheit der fertigen Anwendungen sorgt .

Der Kern von Visual Prolog sind Hornklauseln , algebraische Datentypen , Mustervergleich und kontrollierter Nicht-Determinismus wie in traditionellem Prolog, aber im Gegensatz zu traditionellem Prolog wurde Visual Prolog immer stark und statisch typisiert .

Geschichte

Version 10 führt Objektausdrücke, Unterstützung für Master/Slave-Prozesse, Microsoft Edge webView2 Control und etwas Unterstützung für Direct2D + DirectWrite + Windows Imaging Component ein (siehe auch Visual Prolog 10 New Features ).

Version 9 führt begrenzten Polymorphismus, Erweiterungsprädikate, Threadsafe-Lock-freie Faktendatenbanken und benannte Parameter ein (siehe auch Visual Prolog 9 New Features ).

Version 8 führt Präsentatoren für eine benutzerfreundlichere Datenpräsentation im Debugger und laufenden Programm ein (siehe auch Visual Prolog 8 New Features ).

Version 7.5 enthält http-Server und LALR(1)-Parser-Generator (siehe auch Visual Prolog 7.5 New Features ).

Version 7.4 kann 64-Bit-Windows-Code generieren (siehe auch Visual Prolog 7.4 New Features ).

Version 7.3 führte generische Klassen und Schnittstellen ein (siehe Generische Programmierung ), überwachte Monitore (siehe auch Visual Prolog 7.3 Neue Funktionen ).

Version 7.2 führte anonyme Prädikate (ein logisches Pendant zu anonymen Funktionen ) und Namensräume ein (siehe auch Visual Prolog 7.2 Neue Funktionen ).

Version 7.0 führte parametrischen Polymorphismus ein .

Seit Version 6.0 ist die Sprache vollständig objektorientiert .

Hanoi-Beispiel

Im Beispiel der Türme von Hanoi ermittelt die Inferenz-Engine von Prolog, wie ein Stapel aus einer beliebigen Anzahl von zunehmend kleineren Scheiben einzeln vom linken Pol zum rechten Pol auf die beschriebene Weise mit Hilfe eines Zentrums bewegt werden kann Transit, so dass nie eine größere Platte auf einer kleineren liegt. Das Prädikat hanoinimmt als Anfangsargument eine ganze Zahl an, die die Anzahl der Festplatten angibt.

class hanoi 
   predicates 
       hanoi : (unsigned N). 
end class hanoi 
 
implement hanoi 
   domains 
       pole = left; center; right. 
 
   clauses 
       hanoi(N) :- move(N, left, center, right). 
 
   class predicates 
       move : (unsigned N, pole A, pole B, pole C). 
   clauses 
       move(0, _, _, _) :- !. 
       move(N, A, B, C) :- 
           move(N-1, A, C, B), 
           stdio::writef("move a disc from % pole to the % pole\n", A, C), 
           move(N-1, B, A, C). 
end implement hanoi 
 
goal 
   console::init(), 
   hanoi::hanoi(4).

Rezeption

Bruce F. Webster von BYTE lobte Turbo Prolog im September 1986 und sagte, es sei das erste Borland-Produkt, das ihn so begeistert habe wie Turbo Pascal. Er mochte die Benutzeroberfläche und den niedrigen Preis und berichtete, dass zwei BYU- Professoren sagten, dass es dem Prolog, das sie an der Universität verwendeten, überlegen sei. Während Webster die Marktnachfrage nach der Sprache in Frage stellte, kam Webster zu dem Schluss, dass „Turbo Prolog ein so bedeutender Sprung im Softwaredesign sein könnte, wie es Turbo Pascal vor drei Jahren darstellte“ und empfahl es allen, die sich für künstliche Intelligenz, Datenbanken, Expertensysteme interessieren , oder neue Denkweisen über das Programmieren". Ein anderer Autor in der Zeitschrift schrieb in diesem Monat, dass die nicht standardmäßige, strukturiertere Syntax der Sprache "Quellenlisten viel lesbarer macht als die des Standard-Prolog". Während er sagte, dass es "viele gute Funktionen" hatte, sagte er, dass Turbo Prologs "Turbo Pascal-Geschmack in seinem Compiler und starke Datentypisierung ... ein Identitätsproblem für die Sprache schaffen". Der Autor beschrieb es als "Turbo Paslog" und kam zu dem Schluss, dass er es "nicht empfiehlt, wenn Sie ernsthaft darüber nachdenken, Prolog-Programmierer zu werden". 1989 zählte das Magazin Turbo Prolog 2.0 zu den "Distinction"-Gewinnern der BYTE Awards und bestätigte damit, wie Borland "ein System für die Anwendungsprogrammierung in der Praxis entwickelt"

Bücher über Visual Prolog

  • Thomas W. de Boer, Ein Leitfaden für Anfänger in Visual Prolog
  • Eduardo Costa, Visual Prolog für Tyros
  • Giovanni Torrero, VISUAL PROLOG PER PRINCIPIANTI Italienisch 113 Seiten (pdf)
  • Randall Scott, A Guide to Artificial Intelligence with Visual Prolog, ISBN  978-1-4327-4936-1

Siehe auch

Verweise

Externe Links