Thread Gültigkeit von Variablen... oder so etwas. (30 answers)
Opened by theresa at 2008-02-18 13:44

KurtZ
 2008-02-21 17:55
#106188 #106188
User since
2007-12-13
411 Artikel
BenutzerIn
[default_avatar]
murphy+2008-02-21 16:06:57--
KurtZ+2008-02-21 15:46:20--
[...]
Habe Implementierungsbeispiele für JS Rhino gesehen, AFAIS ließe sich sowas auch in einem Perl-Modul anbieten.


In Rhino JS muss man nicht im CPS programmieren, weil es native Continuations gibt!


ist das entsprechender Code?
http://wiki.apache.org/cocoon/RhinoWithContinuations


murphy+2008-02-21 16:06:57--
In Perl müsste man entweder selbst CPS schreiben, den Compiler hacken um automatisch in CPS zu transformieren, den Interpreter hacken um Interpreterthreads zur Emulation von Continuations zu benutzen, oder auf Perl6 warten, denn Parrot soll native Unterstützung für Continuations bekommen :-)


Naja es reicht doch wohl für den anfang ein codefilter der den Syntax von Goto erweitert, so das implizit @_ gesetzt wird. Zugegeben Codefilter machen Probleme in Evals, aber was solls.


murphy+2008-02-21 16:06:57--
KurtZ+2008-02-21 15:46:20--
Mir fallen wie gesagt nur Statemachines ein.


Es gibt ein paar Webframeworks, die Continuations oder Techniken mit vergleichbarem Effekt einsetzen, um die asynchrone, anfragegesteuerte Natur einer Webanwendung zu verschleiern und dem Programmierer mehr das Gefühl eines linearen, interaktiven Programmablaufes zu geben.


Klar, für mich sind http-requests naheliegende Beispiele für Statemachines. Jeder request überführt den Zustand der angezeigten Seite in einen anderen.

Um ein Beispiel zu geben, sei die Aufgabenstellung eine Wikiseite zu realisieren mit den Zuständen "saved" <->"edit" <-> "preview" ->"saved". (also ein Zustandsdreieck mit zwei bidirektionalen Kanten)


Mir fehlt aber noch ein kleines konkretes Beispiel, wie ich ein Konzept intuitiver in CPS umsetze.
Gerne auch in Perl6 oder Javascript (scheme, lisp udn haskell kann ich leider nicht)

bye
Kurt
TMTOWTDYOG (there's more than one way to dig your own grave)

View full thread Gültigkeit von Variablen... oder so etwas.