問題タブ [semigroup]
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.
haskell - Semigroup の「mayBeMempty」関数
次の機能 -
の (あまり効率的でない) 一般化ですData.Set.isSubSetOf
。最初の引数が 2 番目の引数に「含まれている」かどうかをチェックし、最初の引数が である場合は常に戻ります(返さTrue
れるときは、そうではないことがわかっています)。mempty
False
mempty
この関数または概念がすでに何らかの名前または既存の型クラスで存在しているかどうかを知っている人はいますisSubSetOf
か?
scala - Scala で Cats ライブラリの Validated を使用する
との実際の違いを理解できませSemigroupal.product
んSemigroupal.tuple2
。以下に短い例を示します。
両方とも無効bothInvalid
でbothInvalidTuple
、同じ結果が得られます。有効な値を使用すると、最初の値のみがコンパイルされます。私が得ているエラー:
エラー:(40, 23) パラメータ semigroupal の暗黙の値が見つかりませんでした:cats.Semigroupal[[+A]cats.data.Validated[Nothing,A]] Semigroupal.tuple2(
(私が間違っていなければ) Scala はMonoid
結合を見つけようとしますNothing
が、そうではないようList[String]
です。で動作させる方法はtuple2
?
scala - scala で半群が連想であることを要求する
半群は連想する必要がありますが、次のSemigroup
ように定義できます。
連想しないものを実装できますがplus
、クラスはまだSemigroup
. これに対する保護手段はありますか、それともユーザーはこれを防ぐためにテストに頼ることが期待されていますか?