1

次の機能 -

mayBeMempty :: (Eq a, Semigroup a) => a -> a -> Bool
mayBeMempty candidate ref = candidate <> ref == ref

の (あまり効率的でない) 一般化ですData.Set.isSubSetOf。最初の引数が 2 番目の引数に「含まれている」かどうかをチェックし、最初の引数が である場合は常に戻ります(返さTrueれるときは、そうではないことがわかっています)。memptyFalsemempty

この関数または概念がすでに何らかの名前または既存の型クラスで存在しているかどうかを知っている人はいますisSubSetOfか?

4

2 に答える 2

0

PartialOrdは私がleq探していたものです。

IIUC の違いは、 について説明したルールに適合するように設計されていないことですSemigroupが、代わりにLattice、同じパッケージで定義されているこの方法で動作するように設計されています。何かをそれ自体とマージするとそれ自体になるセットのようなものです。

于 2018-12-27T09:27:37.540 に答える