These are chat archives for scalajp/functional

7th
Apr 2015
Scalaの方は Monad じゃなく MonadLogic 要求するようになってて、異なってるのはなんだろう・・・
どちらかが古いやつで新しいほうが正しいのか、逆に古いほうが正しいのか
kenji yoshida
@xuwei-k
Apr 07 2015 14:11
smallcheck.png
というのを、ここまで ↑ 試しに実装して気がついてしまった
kind-projector使わないと、ほんと謎の苦行だな・・・
pocketberserker
@pocketberserker
Apr 07 2015 14:19
MonadLogic.reflect が MonadLogicを要求しているので必要になるかなと思っていたのですが
http://hub.darcs.net/dolio/logict/browse/Control/Monad/Logic.hs#156
HaskellのほうはなんでMonadでコンパイル通っているのだろう…
あ、。。
https://github.com/pocketberserker/scala-logic/blob/v0.1.0/src/main/scala/logic/LogicT.scala#L91
ここの関数をまちがえてるみたいです、すみません…
kenji yoshida
@xuwei-k
Apr 07 2015 15:42
rank2type が関係するような Arbitrary って汎用的に生成可能なんだろうか (scalazだとCodensityとかNaturalTransformationとか)
少なくとも Arbitrary1 とか Coarbitrary1 というような kind が異なるtypeclassは必要になりそうな気がするけど
quickcheckどうしてるんだろ
kenji yoshida
@xuwei-k
Apr 07 2015 16:00
つまり logic.Logic の Arbitrary 生成しようとしてできなくて詰んだ
kenji yoshida
@xuwei-k
Apr 07 2015 23:07
splitが間違ってる(?)せいだろうか pocketberserker/scala-logic#5
Kleisliの場合も "split values" 満たさないし、 WriterT の場合は reflect の law 満たさないっぽい
kenji yoshida
@xuwei-k
Apr 07 2015 23:17
というのを、自作のテストライブラリだとちゃんと検出してくれるっぽい