問題タブ [scala-cats]

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 投票する
1 に答える
4484 参照

scala - cat と State Monad の使い方

コードの出現の初日を解決するために初めてを使用しましたが、改善できるかどうか疑問に思っています。

update次のシグネチャを 持つメソッドが与えられた場合def update(i: Instruction): PosAndDir => PosAndDir

私が思いついた:

また、

より正確には、質問は次のとおりです。

  1. なぜ呼び出す必要がある.valueのですか (scalaz では透過的です)。
  2. update2読みやすさを向上させるために理解を深めるために書く方法はありますか?
  3. Applicativein cat のインスタンスはありますSeqか (scalaz には存在しないことはわかっています)。?
  4. コードを改善するアイデアはありますか?
0 投票する
1 に答える
485 参照

scala - 猫で自己同形のコレクションを折り畳む方法

与えられた関数

かなり一般的なコンビネータを書きたいg

簡単な実装は古典的なscalaのみを使用します

使用しようとしFoldableましたが、コンパイルの問題が発生しました。

エラーは

で成功しましたState

いくつか質問があります:

  1. Monoid猫の自己同型性はありますか
  2. importすべてのステートメントを一緒に使用した場合のコンパイルの問題を説明できますか? 適切なインポートを簡単に見つけるためのトリックはありますか?
  3. Stateこの場合、抽象化は強力すぎますか?
  4. より良い方法はありますか?

[更新] 1 の回避策を見つけました。

foldMapKしかし、私は定型文を避けるため にまだ…</p>