Prolog in Delphi einbinden

Gast #1042065
Lesenswert?

Guten Abend,

ich hatte vor kurzem eine einwöchige einführung in die logische sprache 
prolog, ich empfand die sprache als sehr angenehm, war es lediglich 
nicht gewohnt logisch zu programmieren. So weit so gut, ich hab dort die 
ganze zeit mit swi prolog die programme lediglich, naja wie soll man 
sagen "ausgefragt^^". Nun wollte ich allerdings ein programm schreiben 
in delphi, wo ich allerdings für einige dinge prolog im hintergrund 
eingebunden bräuchte, also ihc möchte quasi die prologausgaben 
weiterverarbeiten können. Bzw. aus delphi heraus Prädikate, und regeln 
festlegen können.
Könnt ihr mir evtl. weiterhelfen wie ich verbindung zu delphi 
hinbekommen kann?
vielen dank im voraus
max
Gast #1042089
Lesenswert?

Ich habe zwar mit Prolog nicht viel am Hut, aber kurzes,
neugiergetriebenes Vorbeischauen auf derSWI-Prolog-Webseite brachte
dieses zutage:

  http://gollem.science.uva.nl/twiki/pl/bin/view/FAQ/EmbedDLL

Hilft das vielleicht weiter?
Hier steht noch mehr:

  http://gollem.science.uva.nl/twiki/pl/bin/view/FAQ/WebHome

Wenn das Embedden nicht geht, kannst du bspw. ein Delphi- und ein
Prolog-Programm über Sockets miteinander kommunizieren lassen, auch wenn
das nicht so elegant ist.
Gast #1042104
Lesenswert?

erstmal danke für deine bemühung,
das mit der dll sieht ja schonmal interessant aus, werd ich mir gleihc 
mal die zip runterladen und reinschauen.

ansonsten die idee mit der kommunikation über sockets, hatte ich auch 
schon gehabt :D, find ich aber auch nich wirklich so super.. muss ich 
mal gucken.

ansonsten falls im einbinden von prolog erfahrung hat kann er gerne noch 
einen kommentar dalassen.
mfg
max
Gast #1042236
Lesenswert?

Das ist natürlich ein guter punkt.., daran hab ich noch garnich so 
gedacht, weil ich prolog noch nicht so lange gemacht habe und da (bis 
jetzt) keine ahnung habe, ob man da ne kleine grafische oberfläche für 
entwickeln kann. Ich hab wie gesagt bis jetzt immer nur kleine sachen 
damit geschrieben, wie automatische sudoku oder magische quadrate 
ausfüller und weiss im mom nur dass ich das mit swi prolog, mir ausgeben 
lassen kann.
Und da hab ich gedacht dass ich sicherlich delphi oder c brauche um die 
ausgaben dann später mal weiterzuverarbeiten.
Aber auch nur bei prolog bleiben könnte wäre es noch besser!

mfg
max
Gast #1046255
Lesenswert?

@aha:

> Prolog ist im Wesentlichen ein Parser und ein Backtrack Algorithmus.
> Beides kann man schnell mal zusammenkloppen in Delphi

Naja, immerhin besteht der Kern SWI-Prolog-System aus ca. 1e5 Codezei-
len. Dazu kommen die Packages, die ein Vielfaches dieses Umfangs haben.
Ich glaube nicht, dass jemand so etwas schnell¹ mal zusammenkloppt.

Und wenn du dir das Inhaltsverzeichnis des Manuals anschaust, wirst du
erkennen, dass das System aus sehr viel mehr als nur dem Parser und dem
Backtracker besteht:

  http://gollem.science.uva.nl/SWI-Prolog/Manual/Contents.html

———————————
¹) Unter "schnell" verstehe ich in diesem Zusammenhang einen langen
Abend, aber selbst ein paar Wochen sind dafür sicher noch viel zu
optimistisch geschätzt.
Gast #1046847
Lesenswert?

Der nicht ganz passende Kontext von Prolog ist, dass diese Sprache 
geschriebene Sprache, ASCII verarbeitet. Es gibt eigentlich keine 
Binaerdaten. Zumindest habe ich das so in Erinnerung. Eine normale 
Programmiersprache verarbeitet aber Daten in einer binaeren Form. Nun 
sollte man sich entscheiden, ob man wirklich ASCII strings in Delphi 
verabreiten will, oder was das Ganze soll.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren