Haskellでロックフリープログラミングを行うことが可能かどうか誰かが知っていますか?適切な低レベルのプリミティブが利用可能かどうかの問題と、(利用可能な場合)純粋な機能コンテキストで機能する大規模システムを構築するためにこれらを使用することに関して機能する情報についての両方に興味があります。(私はこれまで純粋関数のコンテキストでロックフリープログラミングを行ったことがありません。)たとえば、私が理解しているように、Control.Concurrent.Chanチャネルは(私が理解しているように)ロックを使用するMVarの上に構築されています-- -原則として、内部でロックされていないバージョンのChanプリミティブをビルドできますか?どのくらいのパフォーマンスの向上を期待できますか?
また、私はTVarの存在に精通しているが、それらの内部実装を理解していないと言うべきです---ほとんどロックフリーであることを理解するように言われましたが、それらがそうであるかどうかはわかりません完全にロックフリー。したがって、TVarの内部実装に関する情報も役立ちます。
(このスレッドはいくつかの議論を提供しますが、もっと最新の/より包括的なものがあるかどうか疑問に思います。)