サーバーとかで、いろいろなパラメータの統計をとる場合、たくさんの IORef ではなく、IOUArray を用意してそれぞれの要素を atomic に更新したくなります。
array にそういう関数は提供されてないのですが、プリミティブに cas があるようで、"massiv" パッケージを参考に作ってみました。
https://github.com/kazu-yamamoto/dnsext/blob/main/dnsext-utils/DNS/Array.hs
Haskellの弱点が、一挙になくなった感じ。
array はデフォルトでこれを提供してほしい。。。
array にそういう関数は提供されてないのですが、プリミティブに cas があるようで、"massiv" パッケージを参考に作ってみました。
https://github.com/kazu-yamamoto/dnsext/blob/main/dnsext-utils/DNS/Array.hs
Haskellの弱点が、一挙になくなった感じ。
array はデフォルトでこれを提供してほしい。。。