scalaz.SemiLattice

0
Kenji Yoshida @xuwei_k

「Bandのlaw満たさないがSemiLatticeのlaw満たす」 が存在するので、 継承関係、law定義、class名、のどれかを間違ったか、更にclass増やすべき? というのに気づいたが、数学詳しくないので用語まず調べないと github.com/scalaz/scalaz/…

2017-08-28 20:48:44
Kenji Yoshida @xuwei_k

あと、wikipediaのSemilatticeみると、 join-semilattice と meet-semilattice といくつか種類あるみたいだが、今回追加したやつはどれだ en.wikipedia.org/wiki/Semilatti…

2017-08-28 20:52:27
Kenji Yoshida @xuwei_k

こういうの増やすとキリがないから、個人的には増やさなかった(そして反対する大きな理由もないから今回ひとまず入れた)が、あまり増えすぎるようなら、どこまで増やすか微妙に悩ましくはある

2017-08-28 20:53:03
Kenji Yoshida @xuwei_k

SemiLattice完全に理解した。 scalaz.SemiLatticeは代数的な捉え方をした場合で、あれだとmeetでもjoinでもないというか、逆にどちらでもあるというか、absorption lawsが定義出来ないが、こういうパターンでもこの用語使うのは適切なのだろうか

2017-08-28 22:24:52
Kenji Yoshida @xuwei_k

いや、可換と結合と冪等を満たしていたら半束(?)で、2つの半束が吸収率を満たしてたらそれら全体で "束" になるなら完全に正しい使い方か? ただ、meetとjoin区別しない半束class作ると、もし束の型class作りたくなったら困りそうというか工夫が必要そう、というのはあるが pic.twitter.com/nL57xCdTvB

2017-08-28 22:39:21
拡大
拡大
Kenji Yoshida @xuwei_k

twitter.com/xuwei_k/status… 名前も継承関係もlaw定義もある意味全部正しくて "Bandのlaw満たさないがSemiLatticeのlaw満たす が存在する" は、CommutativeSemigroup作ればいいだろうが、無闇に増やしたくないからこのままか?

2017-08-28 22:48:21