Veränderbare Variablen auf höchster Ebene in Haskell

8

Ich habe ein C ++ - Programm, das mein Haskell-Programm mehrmals aufruft. Einige Daten der ersten Anrufe müssen jedoch für die nachfolgenden Anrufe beibehalten werden. Ich weiß, dass änderbare Variablen auf der obersten Ebene in Haskell nicht standardmäßig unterstützt werden, aber ich denke, ich brauche noch so etwas. (Wenn ich meinen Zustand in eine Datei schreibe und sie wieder einlese, würde das funktionieren, aber ich möchte etwas nativer)

Beim Hacken fand ich Bibliotheken wie Global-Variablen oder Safe-Globals, aber alle scheinen ziemlich alt zu sein und hängen von alten Versionen von Paketen ab, die ich bereits verwende. Gibt es eine kanonische Lösung für dieses Problem?

Idealerweise hätte ich gerne die Funktionen der obersten Ebene:

%Vor%

(Ich denke, ich sollte auch erwähnen, dass alles in einem Aufruf von hs_init () im FFI ausgeführt wird, so dass das Haskell-Programm nicht wirklich zwischen den Aufrufen beendet wird)

    
Ingdas 04.06.2014, 09:53
quelle

1 Antwort

10

Sie können eine globale veränderbare Variable erstellen:

%Vor%

Die haskell wiki gibt dies als aktuelle Standardlösung an, diskutiert aber auch Alternativen.

    
firefrorefiddle 04.06.2014, 10:10
quelle

Tags und Links