Frage

Ich bin relativ neu in Lisp (Ich weiß nur, die Grundlagen) und ich versuche zur Zeit ein algorithmische Komposition Programm erstellt von David Cope zu laufen. Es läuft in MCL 5.0, und ich erhalte die folgende Fehlermeldung:

  

Fehler im Prozess spielen: Stapelüberlauf auf Wert-Stack.   Zur Erhöhung der Stapelspeicher global erhöhen *minimum-stack-overflow-size*

Wer weiß, welche Funktion würde ich die Stack-Überlauf Größe zu erhöhen verwenden und wie ich die beste Stack-Überlauf Größe für den Computer berechnen würde? Ich bin mit MCL auf einem alten Powerbook mit 512 MB RAM.

Vielen Dank für Ihre Zeit,

Eddie

War es hilfreich?

Lösung

Es scheint zu sagen, dass man einfach die spezielle Variable *minimum-stack-overflow-size* ändern müssen. Wenn Sie an der REPL (CL-USER> Aufforderung oder ähnliches) sind, überprüfen Sie diese Variable durch den Namen der Bewertung:

CL-USER> *minimum-stack-overflow-size*

setzen Sie sich dann auf einen größeren Wert (die 1234567 ist nur ein Platzhalter) mit setf:

CL-USER> (setf *minimum-stack-overflow-size* 1234567)

Allerdings könnte dies nicht das eigentliche Problem sein. Ich weiß nicht, MCL gut, aber es könnte zu (declaim (optimize (speed 3) (safety 0))) oder ähnliches notwendig sein, um Endaufruf Beseitigung zu ermöglichen, wenn das gewünschte Programm verwendet einen Schwanz rekursive Funktion auszuführen, die auf eine solche Optimierung abhängig ist.

Andere Tipps

Ursprünglich Speicheroptionen wurden mit ResEdit bearbeitet werden.

Man kann auch die SAVE-Anwendungsfunktion nutzen und benutzen Sie die: MEMORY-OPTIONS keyword verschiedene Werte angeben. Dies wird in dem MCL-Referenzhandbuch beschrieben. Diese Funktion speichert eine neue MCL-Anwendung. Typischerweise beginnt man Vanille MCL, setzt verschiedene Optionen, lädt einige Bibliotheken und speichert dann eine neue Anwendung. Diese neue Anwendung wird dann während der Entwicklung verwendet.

Die notwendige Stapelgröße hängt von dem Programm, das Sie ausführen möchten.

Wenn ein Stapelüberlauf geschieht, in MCL können Sie mit einem größeren Stapel in vielen Fällen weiter. Wählen Sie einfach die richtige Neustart-Option.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top