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

murphy
 2008-02-23 03:53
#106281 #106281
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
KurtZ+2008-02-22 23:00:56--
[...]
Meine Frage, unterstützen Scheme-Syntax (oder andere Sprachen) das optional (oder sogar per Default) ohne explizites Labeling? Dann ließe sich CPS ja auch von Anfängern mit dem gewohnten Jump-Subroutine Muster verwenden.
[...]


Naja, in Scheme muss man wie in Rhino nicht selber CPS schreiben, weil die Sprache nativ Continuations unterstützt. Einen goto Befehl kennt das Scheme allerdings gar nicht. Man würde ganz normale Subroutinendefinitionen und -aufrufe hinschreiben und an den Stellen, wo man auf die aktuelle Continuation zugreifen will, die Funktion call-with-current-continuation benutzen, welche in CPS so definiert werden könnte:
Code (perl): (dl )
1
2
3
4
sub call_with_current_continuation(&&) {
  my ($rc, $proc) = @_;
  @_ = ($rc, $rc); goto &$proc;
}


Der Compiler kümmert sich dann darum, dass das ganze Programm in der Lage ist, an jeder Stelle jede beliebige Continuation aufzurufen. Oft geschieht das dadurch, dass einfach alles in CPS transformiert wird.
When C++ is your hammer, every problem looks like your thumb.

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