Entschuldigung für den vagen Titel, ich schätze, ich verstehe mein Problem einfach noch nicht gut genug, um es zu fragen, aber es geht los. Ich möchte eine rekursive Funktion schreiben, die eine Reihe von Funktionen auswertet und sich dann selbst mit deren Ergebnissen aufruft usw. Die Rekursion hört bei einer Funktion auf, die eine Zahl zurückgibt.
Ich möchte jedoch, dass die Funktion f, die an einem beliebigen Punkt in der Rekursion ausgewertet wird, in eine Funktion s verpackt wird, die beim ersten Mal, wenn sie ausgewertet wird, einen Anfangswert (z. B. 0 oder das Ergebnis einer anderen Funktion i) zurückgibt, gefolgt von dem Ergebnis der Auswertung von f (so dass sie beim nächsten Mal, wenn sie ausgewertet wird, das zuvor ausgewertete Ergebnis zurückgibt und den nächsten Wert berechnet). Das Ziel ist es, die Rekursion zu entkoppeln, so dass sie fortgesetzt werden kann, ohne dass es zu diese .
Ich glaube, ich verlange einen Lazy-Seq. Es ist ein Rohr, das sich an einem Ende mit Auswertungen einer Funktion füllt, und am anderen Ende kommen historische Ergebnisse heraus.