2010-05-07 20 views
7

Ich muss Fortsetzungen in Scheme für meine bevorstehenden Prüfungen zu verstehen, und ich habe keine Ahnung von Fortsetzungen überhaupt. Kann mir bitte jemand vorschlagen, wie man Fortsetzungen lernt?Fortsetzung (call/cc) in Schema

Grüße,

darkie

+0

möglich Duplikat von http://StackOverflow.com/Questions/612761/what-is-call-cc –

+0

@Dave: Der Thread scheint über andere Programmiersprachen zu sprechen, nicht von meinem Interesse. Außerdem sind die Informationen, die Alex unten liefert, aus der Sicht eines Anfängers besser. Bitte lassen Sie mich wissen, wenn solche Links für Anfänger existieren –

Antwort

8

Ich finde diese short draft tutorial einen nützlichen Ausgangspunkt. Sobald Sie diese Grundlagen kennen, ist eine umfangreichere, scheme-spezifische Abdeckung here; für einen breiteren Bereich kann wikipedia eine Hilfe sein (und hat ein paar gute Links am Ende).

+0

Danke Alex. Ich habe eine Anfrage aus dem Link 'Kurzentwurf Tutorial'. Das Beispiel hat (+ 2 (call/cc (lambda (k) (set! Handle k) 2))). Warum haben wir hier die rechte 2? Liegt es daran, dass wir den Handle anfänglich mit der Fortsetzung verknüpfen müssen oder gibt es einen anderen Grund dafür? –

+1

@ darkie15, die rechte '2' ist der Wert, den' call/cc' zurückgibt, was den Ausdruck '4' ergibt (da das '(+2 2) '! -) ist; als _side-Effekt_ setzt der 'lambda' den Namen' handle' auf die Fortsetzung, so dass das kurze Tutorial zeigt, wie man 'handle' dann wie eine Funktion behandelt, die' (+2 was auch immer) 'auf seinem Argument' was auch immer' ausführt. –

2

Ich schrieb this short article, um mich mit Fortsetzungen vertraut zu machen. Sie können es nützlich finden. Ich habe dort auch einige Links gesammelt.

+2

Diese Domain ist nicht verfügbar –

Verwandte Themen