FB18 - Das Forum für Informatik

fb18.de / Bachelorstudieng / PM Praktische Informatik

Prolog in Scheme

Prolog in Scheme 2007-02-18 19:40
Anonymer User
Hallo,
hat hier mal jemand das Prolog_in_Scheme Modul für mich ?
Wenn ja, bitte an simrocka@web.de schicken. Vielen Dank !

Re: Prolog in Scheme 2007-02-18 19:46
garou
Meinst du sowas?

Re: Prolog in Scheme 2007-02-18 19:51
Anonymer User
Danke. Nee, ich meinte das, was Leonie Löwenherz gebastelt hat. Ist so schön auf SE3-Vorlesung und Skript abgestimmt.

Re: Prolog in Scheme 2007-02-19 16:03
matten
gibt es bei leonie:
/home/kogs_1/dreschle/se3-bib
dort das komplette Verzeichniss saugen und bei dir in drscheme im richtigen subdir ablegen (bei mir wäre es (OSX) /Library/PLT Scheme v352/collects/teachpack/se3-bib/).

dann kannst du mit
(require (lib "prologInScheme.ss" "teachpack" "se3-bib" "prolog"))
prolog in scheme laden

Re: Prolog in Scheme 2007-02-19 16:36
Anarch
Es gibt zwei große Systeme, die sowas implementieren. Das ältere heißt Schelog, das jüngere heißt Kanren. Letzteres wird im Buch „The Reasoned Schemer“ (aus der Reihe „The Little Schemer“ und „The Seasoned Schemer“) beschrieben.

Re: Prolog in Scheme 2007-02-19 16:53
MB
gibt es bei leonie:
/home/kogs_1/dreschle/se3-bib
dort das komplette Verzeichniss saugen und bei dir in drscheme im richtigen subdir ablegen (bei mir wäre es (OSX) /Library/PLT Scheme v352/collects/teachpack/se3-bib/).

dann kannst du mit
(require (lib "prologInScheme.ss" "teachpack" "se3-bib" "prolog"))
prolog in scheme laden

geht leider trotzdem nicht. meint er kann das teachpack nicht finden/öffnen.
argh.

Re: Prolog in Scheme 2007-02-19 16:57
matten
welches teachpack denn (genaue fehlermeldung?)

bloß nicht als teachpack unter language->teachpacks einbinden, lass dort nur das tools-module.ss drin, und das andere über require wie angegeben laden, sonst gibts einen fehler wegen überschneidungen.

Re: Prolog in Scheme 2007-02-19 17:56
MB
open-input-file: cannot open input file: "C:\Programme\PLT\collects\teachpack\se3-bib\prologInScheme.ss" (Das System kann die angegebene Datei nicht finden.; errno=2)
aber in se3-bib befindet sich das besagte ganze ding.

Re: Prolog in Scheme 2007-02-19 18:22
MB
geht jetzt. danke nochmal.

Re: Prolog in Scheme 2007-02-19 18:31
ferhat
habe mal ne frage:

Wie kann man in Prolog-Scheme, wenn man Datenbanken modeliert, ein Join befehl machen.

z.B.
Nach dem Schema
(<- (TabeleStudent MartikelNr Student Fachbereicht)
(<- (TabeleFach FachNr FachName)
(<- (TabeleEingeschriebenIn FachNr MartikelNr)

die ganzen Eintragung mache.

Und jetzt will ich jedenstudenten haben der in einem Bestimmten Fach eingeschrieben ist. Gibt es sowas wie ein Join befehl oder muss ich mir die Funktionalität selber Programmieren.

Re: Prolog in Scheme 2007-02-19 18:34
Anarch
habe mal ne frage:

Wie kann man in Prolog-Scheme, wenn man Datenbanken modeliert, ein Join befehl machen.

Wie würdest du es denn in Prolog machen? :-)

Re: Prolog in Scheme 2007-02-19 18:36
ferhat
habe mal ne frage:

Wie kann man in Prolog-Scheme, wenn man Datenbanken modeliert, ein Join befehl machen.

Wie würdest du es denn in Prolog machen? :-)

Ja Prolog kam nur so kurz so gegen ende dran, weil wir in Scheme Programmiert hatten. Aus dem Grund weis ich ja nicht wie ich in Prolog das machen würde.

Re: Prolog in Scheme 2007-02-19 19:02
f0k
habe mal ne frage:

Wie kann man in Prolog-Scheme, wenn man Datenbanken modeliert, ein Join befehl machen.

Wie würdest du es denn in SQL machen? :-)

In SQL würdest Du im einfachsten Fall im WHERE-Teil die Fremdschlüssel und Primärschlüssel gleichsetzen. Und mehr musst Du hier auch nicht tun - wenn Du irgendetwas joinen willst, sorg dafür, dass die Matrikelnummern der einen Faktensammlung mit den Matrikelnummern der anderen Faktensammlung korrespondieren (am einfachsten, indem Du zweimal den selben Variablennamen benutzt), und Du hast Dir einen Join gebaut.

/Edit: Beispiel:

Du hast zwei Faktensammlungen (in Prolog - keine Ahnung, wie ihr das in Scheme notiert habt):
student(123, ernie, 18). student(253, garfield, 12). student(982, bert, 18). fb(18, informatik). fb(12, weissnicht). Und möchtest nun die Namen von Studenten, die im FBI sind:
fb(FBNr, informatik),student(_, Mafiasi, FBNr).Dann wird Mafiasi mit einem Studenten aus dem FB18 instanziiert. Und wenn Du nach Alternativen fragst, auch mit noch einem. Und dann ist Schluss, weil die Datenbasis nicht besonders groß ist.

Re: Prolog in Scheme 2007-02-19 20:16
ferhat
Ja danke hat geklapt.