問題タブ [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 に答える
175 参照

scala - Scalaz や Cats で例外をスローする関数をリファクタリングする方法

これは私の前の質問へのフォローアップです:

次のような関数をリファクタリングしているとします。

または例外doCheckを返す新しい純粋関数を作成しています。Unit

そしてそれを呼び出すcheck

それは理にかなっていますか?そのように実装した方が良いでしょうdoCheckか?

で実装する方法はcats

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

scala - 猫のモノイドでコンパイルエラーが発生する理由

ドキュメントに記載されているように、このインポートがある場合

次のコードはコンパイルされません:

このエラーが発生しました:

インポートを削除すると、機能します。ドキュメントのエラーですか、それとも何か見落としている可能性がありますか?

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

scala - scala: タイプ ユニオンによるパラメータ化

タイプの制限を強制するタイプ Union が必要だったので、hereの回答に従って、 Union を次のように定義しました。

さて、この型共用体によってパラメータ化されたリストまたはクラスを作成するにはどうすればよいですか? そうすることは可能ですか?? repl で次の構文を試しましたが、運がありませんでした:

または、scalaz や cats などの高度な FP ライブラリでそれを行うことは可能ですか??

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

scala - Scala cat の再帰算術式の無料モナド

Scala の catライブラリを使用し、チュートリアル docに従って、単純な算術式評価器を定義しようとしています。

目標は、個別に定義できる整数値と加算を組み合わせたモジュール方式で DSL を定義することです。

次のコードがあります。

Add ケースの「適用」の定義をコメントしたため、前のコードはコンパイルされます。最初は、解決策はコメントされているコードだと思っていましたが、コンパイラは次のように返します。

モジュール方式で DSL とインタープリターを定義するには、コードの何を変更する必要があるか知っていますか?

0 投票する
0 に答える
141 参照

scala - Kleisli の例では、明示的な型と FlatMap[Option] が必要ですか?

私は基本的なKleisliの例で遊んでいます

そして2つのことが私を巻き込みます

  • タイプ [Option,String,Int] を明示的に指定する必要があるのはなぜですか? サンプル コードではそれらが省略されており、この方法でも機能したに違いないと思います...
  • 評価するcc("5")は、本当に手で与える必要がありFlatMap[Option]ますか、それとも暗黙のインポートがありませんか?

追加できます

を評価c("5")しますが、このことのデフォルトの実装はありませんか?

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

scala - Scala の型クラスで抽象型を使用する

からValue型クラスに属するように制約された抽象型を使用したいのはcatです。Show

私の最初の試みは次のようなものです:

しかし、コンパイラは暗黙のパラメーターを見つけられませんShow[Value]

前の例を次のように定義できることはわかっています。

ただし、型パラメーターの代わりに抽象型を使用できるかどうかを知りたかったのです。

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

intellij-idea - 種類のプロジェクター プラグインを使用した IntelliJ 上の猫

IntelliJ で Cats を調べていますが、IntelliJ Scala プラグインが Kind Projector プラグインをサポートしているにもかかわらず、IntelliJ はプラグインの型ラムダ表記 ( λ) を認識できません。これを有効にするトリックはありますか?Kind Projector インスペクション オプションが使用可能であり、設定で有効になっていますが、コード インスペクションを実行した後、Kind Projector が表示されません。私の IntelliJ バージョンは 2016.2.2 で、Scala プラグイン バージョンは 2016.2.1 です。