問題タブ [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.
scala - Scalaz や Cats で例外をスローする関数をリファクタリングする方法
これは私の前の質問へのフォローアップです:
次のような関数をリファクタリングしているとします。
または例外doCheck
を返す新しい純粋関数を作成しています。Unit
そしてそれを呼び出すcheck
それは理にかなっていますか?そのように実装した方が良いでしょうdoCheck
か?
で実装する方法はcats
?
scala - 猫のモノイドでコンパイルエラーが発生する理由
ドキュメントに記載されているように、このインポートがある場合
次のコードはコンパイルされません:
このエラーが発生しました:
インポートを削除すると、機能します。ドキュメントのエラーですか、それとも何か見落としている可能性がありますか?
scala - scala: タイプ ユニオンによるパラメータ化
タイプの制限を強制するタイプ Union が必要だったので、hereの回答に従って、 Union を次のように定義しました。
さて、この型共用体によってパラメータ化されたリストまたはクラスを作成するにはどうすればよいですか? そうすることは可能ですか?? repl で次の構文を試しましたが、運がありませんでした:
または、scalaz や cats などの高度な FP ライブラリでそれを行うことは可能ですか??
scala - Scala cat の再帰算術式の無料モナド
Scala の catライブラリを使用し、チュートリアル docに従って、単純な算術式評価器を定義しようとしています。
目標は、個別に定義できる整数値と加算を組み合わせたモジュール方式で DSL を定義することです。
次のコードがあります。
Add ケースの「適用」の定義をコメントしたため、前のコードはコンパイルされます。最初は、解決策はコメントされているコードだと思っていましたが、コンパイラは次のように返します。
モジュール方式で DSL とインタープリターを定義するには、コードの何を変更する必要があるか知っていますか?
scala - Kleisli の例では、明示的な型と FlatMap[Option] が必要ですか?
私は基本的なKleisliの例で遊んでいます
そして2つのことが私を巻き込みます
- タイプ [Option,String,Int] を明示的に指定する必要があるのはなぜですか? サンプル コードではそれらが省略されており、この方法でも機能したに違いないと思います...
- 評価する
c
にc("5")
は、本当に手で与える必要がありFlatMap[Option]
ますか、それとも暗黙のインポートがありませんか?
追加できます
を評価c("5")
しますが、このことのデフォルトの実装はありませんか?
scala - Scala の型クラスで抽象型を使用する
からValue
型クラスに属するように制約された抽象型を使用したいのはcatです。Show
私の最初の試みは次のようなものです:
しかし、コンパイラは暗黙のパラメーターを見つけられませんShow[Value]
。
前の例を次のように定義できることはわかっています。
ただし、型パラメーターの代わりに抽象型を使用できるかどうかを知りたかったのです。
intellij-idea - 種類のプロジェクター プラグインを使用した IntelliJ 上の猫
IntelliJ で Cats を調べていますが、IntelliJ Scala プラグインが Kind Projector プラグインをサポートしているにもかかわらず、IntelliJ はプラグインの型ラムダ表記 ( λ
) を認識できません。これを有効にするトリックはありますか?Kind Projector インスペクション オプションが使用可能であり、設定で有効になっていますが、コード インスペクションを実行した後、Kind Projector が表示されません。私の IntelliJ バージョンは 2016.2.2 で、Scala プラグイン バージョンは 2016.2.1 です。