Wie funktioniert die ST-Monade?

Ich verstehe, dass die ST-Monade so etwas wie ein kleiner Bruder von IO ist, der wiederum die Staatsmonade mit hinzufügtRealWorld Zauber. Ich kann mir Zustände vorstellen und ich kann mir vorstellen, dass RealWorld irgendwie in IO eingebunden ist, aber jedes Mal, wenn ich eine Typensignatur von schreibeST dass der ST-Monade verwirrt mich.

Nehmen Sie zum BeispielST s (STArray s a b). Wie funktioniert das?s Arbeite dort? Wird es nur verwendet, um eine künstliche Datenabhängigkeit zwischen Berechnungen aufzubauen, ohne wie Zustände in der Zustandsmonade referenziert werden zu können (aufgrund derforall)?

Ich schmeiße nur Ideen aus und würde es wirklich begrüßen, wenn jemand besser informiert wäre als ich, um es mir zu erklären.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage