問題タブ [ioref]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
147 参照

haskell - エラーが発生した場合に値を保持する IORef

内部でエラーが発生した場合、IORef 値を変更しない方法はありますmodifyIORefか?

0 投票する
1 に答える
270 参照

haskell - リストの IORef 処理

これは、私が以前に尋ねた質問のフォローアップです。のすべての呼び出しでIORef、受け入れられたソリューションで以下のリストが更新される方法がそうであるかどうか疑問に思っています。おそらく、リストの先頭へのポインターを保持している可能性が高いためだと思います(毎回O(n)になるリスト全体をトラバースしてコピーするのではなく)新しいヘッドへのポインターを変更するだけで、O(1)になるはずです。リスト全体の熱心な評価を防ぎます)。ただし、その低レベルのコードは表示されません。だから、ここで尋ねる:O(1)fetchIORefghc-core

0 投票する
1 に答える
472 参照

performance - IORef と STRef のコンパイル

これらの Ref のパフォーマンスを測定するために、次のコードで GHC によって生成されたアセンブリをダンプしました。

IORef が完全に最適化され、文字列 "18" を stdout に書き込むシステムコールのみが残されると予想していました。代わりに、250 行のアセンブリを取得します。実際に何人が処刑されるか知っていますか?これが私がプログラムの核心だと思うものです:

私はこれについて心配していjmp stg_newMutVar#ます。アセンブリのどこにもないので、GHC は後のリンク段階でそれを解決するかもしれません。しかし、なぜここにあり、何をするのでしょうか? 未解決の haskell シンボルなしで最終的なアセンブリをダンプできますか?

0 投票する
4 に答える
362 参照

haskell - atomicModifyIORef の追加の結果パラメータの目的は何ですか?

の署名modifyIORefは非常に簡単です。

残念ながら、これはスレッドセーフではありません。この問題に対処する代替手段があります。

これら2つの機能の違いは正確には何ですか? 別のスレッドから読み取られる可能性のある をb変更するときに、パラメーターをどのように使用すればよいですか?IORef