Ich fühlte mich ein wenig unsicher bei der Verwendung von Haskell-Griffe. Ich suche nämlich zwei Features (vielleicht sind sie schon da und in diesem Fall bitte vergib mir meine Unwissenheit).Safer Handles in Haskell?
- Wenn ich einen Griff erhalten haben (zB zurück von
Network.accept
), die sowohl lesbar und beschreibbar ist, möchte ich sie in ein Paar konvertieren von read-only und write-only behandelt so, dass das Schreiben auf ein schreibgeschütztes -Handle keine Überprüfung eingibt und umgekehrt. (Vielleicht kann man erreichen, dies mit Phantom-Typen und Wraps um IO-Funktionen?) - Bei einer gleichzeitigen Einstellung fand ich, dass es möglich ist für mehrere Threads auf den gleichen Griff schreiben, was zu ziemlich unangenehmen Folgen führt . Wie kann man das durch das Typsystem verhindern (wenn möglich) oder zumindest über eine ausgelöste Ausnahme während der Laufzeit von einem solchen Fall in Kenntnis setzen?
Jede Idee ist willkommen.