Jekejeke Prolog 1.3.0 (Prolog dicts und Funktionen auf Prolog dicts)

Jan Burse, erstellt 17. Sep 2018, geändert 10. Dez 2018 Hallo Zusammen, Wir haben soeben eine neue Ausgabe von Jekejeke Prolog aufgeschaltet. Wir haben Prolog dicts und Funktionen auf Prolog dicts realisiert. Diese verfügen über unterschiedliche Aspekte: - Syntax Erweiterungen: Wir haben einige Syntax Erweiterungen eingeführt, wie Postfix {} Operator für Prolog dicts Syntax, Postfix () Operator für Nullargumente Syntax und Infix '.' Operator für Funktionen auf Prolog dicts. Diese Erweiterungen verändern das darunterliegende ISO Kernstandad Datenmodell nicht, stattdessen verwenden wir die üblichen Verbunde. - Funktions Expansion: Es nun möglich Funktionsexpansionen über das mehrdateien Prädikat rest_expansion/2 zu definieren. Diese Prädikat kann einen umgeschriebenen Funktionsterm zurückgeben. Zusätzlich kann es auch sys_cond/2 zurückgeben, was ein Paar, bestehend aus einem umgeschriebenen Funktionsterm und einem vorzuschaltenden Ziel für eine Seitebedingung, ist. - Prolog dicts: Das Modul library(advanced/dict) kann importiert werden und es wird die Prolog dicts Syntax ermöglichen und auch Vorsortierung über die Funktionsexpansionen durchführen. Das Modul library(advanced/func) kann importiert werden und es wird die Punktnotation ermöglichen und Funktionen auf Prolog dicts erlauben. Wir haben versucht die gleiche Prolog dicts Funktionalität wie in SWI-Prolog zu implementieren, aber ohne den Nachteil dass das ISO Kernstandard Datenmodell geändert wird. Das bedeutet dass in unseren Prologsystem, obwohl es jetzt Prolog dicts gibt, eine Liste weiterhin aus Cons Zellen mit dem Funktor ('.')/2 besteht. Es ist möglich dass wir in Zukunft einige Verbesserungen an den Prolog dicts durchführen. Zum Beispiel ist die vorsortierte Darstellung noch nicht komprimiert, und die Punktnotation kennt die Aufrufstelle nicht und kann daher nur öffentliche Funktionen aufrufen. Auf der anderen Seite benutzen wir schon eine Pythoneske Umsetzung. Fröhliches Kodieren! Android Appstores: Google Play Herunterladen: Jekejeke Runtime

Kommentare