This is a hint (Hinweis) text of GUPU taken literally from the system. It's probably not very interesting reading for you.
**NEXT:To continue the guided tour go back where You came from
**NEXT:Continue reading the hints in German (...)

Dieser Hinweis ist aus der Übung im WS 1994/95 oder aus einer noch älteren Übung oder war nie Teil einer Übung und ist daher möglicherweise für spätere Übungen nicht gültig!


            Schnellsiedekurs zur
      Verwendung des partiellen Evaluators
                  Mixtus
              (© SICS 1991)

Kurzfassung: Pro Beispiel können Sie 1 ×
:- pe mein_privates_Ziel(...).
schreiben.

Das bedeutet: Es soll ein effizienteres
Programm erzeugt werden, das nur speziell für
mein_privates_Ziel/n funktioniert.

z.B. Beispiel 83:

mi_list([]).
mi_list([G|Gs]) :-
	klause(G,Bs),
	mi_list(Bs),
	mi_list(Gs).
# klause(endlos,[endlos]).
klause(member(E,[E|_Es]),[]).
klause(member(E,[_E|Es]),[member(E,Es]).

mein_member(E,Es) :-
	mi_list([member(E,Es)]).

Anstatt sich mit dieser ineffizienten Variante
für mein_member/2 zu begnügen, sagen Sie doch,
daß Sie eine effizientere Variante wünschen:

:- pe mein_member(E,Es).

Das bedeutet: Es soll das sehr allgemein
gehaltene Programm für das Ziel mein_member/2
spezialisiert werden.

*** Bitte machen Sie aber stets nur eine
*** solche Anfrage pro Beispiel!!!!!!!

Als Antwort erscheint nun AM ENDE des
aktuellen Beispiels ein (hoffentlich)
effizienteres Programm, das aber mittels @@@
auskommentiert ist. Sie können nun dieses
verbesserte Programm betrachten. Es enthält
auch einige (sporadisch gehaltene) Kommentare,
woraus es entstanden ist. Wenn Sie nun das
ursprüngliche Programm abändern, können Sie
nach jedem DO die entsprechende Änderung
auch im optimierten Programm sehen.

*** Solange das neue Programm hinter den @@@
*** ist, wird es nicht geladen und bei jedem
*** DO gelöscht, bzw. neu generiert.

Zu beachten ist, daß als erste Regel, das alte
Prädikat neu definiert wird. Wenn Sie die
ursprüngliche und die optimierte Variante
zugleich verwenden wollen, müssen Sie diese
Regel löschen und alle Schneckennudeln
entfernen.

1. Löschen Sie die Regel, die mein_member/2
erneut definiert.
2. Gehen Sie in die Zeile danach und drücken
Sie C-cC-r. Dadurch verschwinden die @@@ am
Anfang der Zeile.
3. Kommentieren Sie das pe wieder aus!!

Nun können Sie DO drücken und haben dann
beide Versionen geladen. Da Mixtus immer neue
Namen generiert (durch Anhängen laufender
Zahlen) sollte es zu keinen Namenskonflikten
kommen. Verwenden Sie selbst aber lieber keine
Prädikate mit Zahlen am Ende.

Probieren Sie auch in alten Beispielen aus, was
mixtus aus ihren Programmen macht!
        \hinweis{mixtusproblem}
        \hinweis{longpe}
        \hinweis{pe}
Zurück: \hinweis{init}

**NEXT:To continue the guided tour go back where You came from
**NEXT:Continue reading the hints in German