Angenommen, die folgenden:eine Funktion über das Netzwerk in Haskell Passing
I einen Typ namens World
einig Simulationszustand darstellt. Ich habe auch diese Art Synonym:
type Update = World -> World
Ist Haskell der Lage, die Serialisierung des Update-Typs, so dass sie über das Netzwerk weitergegeben werden können? Oder gibt es andere Möglichkeiten? Vielleicht suche ich nicht so sehr nach einer Serialisierung der Code-Logik, als irgendeine Art von Zeiger oder Kennung, die am anderen Ende gelesen werden kann. Sowohl der Sende- als auch der Empfangsprozess führen dasselbe Haskell-Programm aus.
Sie sollten in 'Cloud Haskell' schauen, die im Grunde ein System zum Übergeben von Zeigern zu Funktionen unter der Annahme ist, dass jede Seite eine passende binäre hat. –
Betrachten Sie eine Datenstruktur 'Daten Event = Thing | Thing2 Int | ... um die atomaren Ereignisse darzustellen, die passieren können, dann eine Funktion "update :: Event -> World -> World". Sie können den "Event" -Typ der Plain-Daten serialisieren und weitergeben (und Logging usw. hinzufügen, wenn Sie möchten) und dann die "update" -Funktion an jedem Ende der Netzwerkverbindung verwenden. – AndrewC
Leider ist die Antwort im Allgemeinen nein. – augustss