問題タブ [monads]
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.
multithreading - モナド関数で parMap を使用するにはどうすればよいですか?
私は単項関数 getRate を持っています:
この関数を文字列のリストにマップしたいと思います。通常は、次のようにします。
しかし、getRate への呼び出しごとにネットワーク呼び出しが行われるため、マップを並列化し、各レートが個別のスレッドでフェッチされる (または少なくともキュー間で分散される) ようにしたいと考えています。みたいなことを考えている
ただし、parMapM 関数はなく、parMap はモナド関数では機能しません。
私に何ができる?
haskell - 折り畳みによるモナドアクションの合成
type の関数を考えてみましょう(Monad m) => a -> m a
。例えば:
何度でも応募できるようにしたいです。最初に試したのは
問題は、大規模な場合は機能しないことですn
:
他の方法でも機能しません:
実際、機能するのは($!)
厳密性演算子を使用することです
より良い、またはより慣用的な解決策はありますか? それとももっと厳しいものですか?f
重い関数の場合でも、スタック オーバーフローが発生しやすいです。
UPD:ポイントフルな形式で書いtimes
ても、重いモナドアクションを作成する問題を解決できないことがわかりました。これは fx = Just (x+1) で機能しますが、現実の世界では失敗します:
scala - Haskell モナドに相当する Scala
私は Haskell の経験があり、現在 Scala を学んでいます。Scala にモナドに相当するものがあるかどうか疑問に思っています??
haskell - VBO/FBO/DisplayLists は Haskell の OpenGl バインディングでどのように機能しますか?
Haskell は、値の計算による計算に関するものです。
DisplayLists / FBOs / VBOs は本質的に非常にステートフルです。つまり、「ディスプレイリスト/バッファオブジェクトをください」。
これらのバインディングは Haskell でどのように機能しますか?
[私はモナドを理解しています。そのため、ふわふわした説明ではなく、技術的な説明が優先されます]。
ありがとう!
haskell - StateTとWXGUIの共存
通常のwxHaskellプログラムは次のようになります
guiはタイプを持っている必要がありIO a
、runはタイプを持っている必要があります。IO a -> IO ()
また、にはいくつかの初期化ルーチンがありますrun
。
私は次のことをやろうとしています:
ただし、この場合、GUIのタイプは。でなければなりませんgui :: MApp AppGlobals
。このタイプのため、通常のIOモナド構文を使用できなくなります。つまり、liftIO
IOアクションを実行するたびに使用する必要があります。
wxHaskellでStateモナドを使用する便利な可能性はありますか?状態を各イベントハンドラーに手動で渡すのはあまり便利ではありません。
haskell - HaskellのIO文字列と通常の文字列の違いは何ですか
IO文字列から文字列へのそのような違いはありますか
IO からいくつかの文字列値を取得したいと考えています。
誰でもこの問題について教えてください。私は無知です
haskell - Haskellで副作用がモナドとしてモデル化されているのはなぜですか?
Haskellの不純な計算がモナドとしてモデル化されている理由について誰かがいくつかの指針を与えることができますか?
つまり、モナドは4つの操作を備えた単なるインターフェースなので、その中で副作用をモデル化する理由は何でしたか?
haskell - ">>" を使用せずに同じ文字列に 2 つの関数を適用する方法
このような関数を書いています。
私はそれが間違っていることを知っていますが、アイデアは、出力が次のようになるようにputStr
、文字列にprint
適用してから同じ文字列に適用することです。"fun = .."
これは私の関数定義と同じです。ありがとう
data-structures - Haskellのモナドとカスタムトラバーサル関数
次の単純なBST定義があるとします。
副作用のある順番関数を書きたいのですが。私はそれを次のように達成しました:
これは問題なく動作しますが、繰り返しのようです。同じロジックがinOrderにすでに存在し、Haskellでの経験から、同じようなことを2回書いていると、おそらく何か間違ったことをしていると思います。
純粋な関数または単調な関数のいずれかを取ることができる単一の関数inOrderを作成する方法はありますか?