scalazのenumがDoubleやFloatでテスト失敗する https://t.co/HhspmK1m ってのと android-pluginの0.12対応してみたけどこんな感じでいいの? https://t.co/Dpl2ZrEP って投稿してどっちも返信ないんだけど誰か
2012-08-11 09:25:16.@xuwei_k さんが言ってるのは、Int.MaxValue == Int.MinValue.pred はtrueだけど、Double.MaxValue == Double.MinValue.pred はfalseってことか。 https://t.co/59wI5Xxq
2012-08-11 11:40:38@ssmylh 現状のscalaz7のenumが、Haskell をもとに作ったと書いてあるけど、Haskell のenum ともある程度異なるから、その辺りの設計思想がよくわからないんですよね。bugなのか仕様なのか。
2012-08-11 11:50:29@xuwei_k @ssmylh haskellの場合は、 The calls succ maxBound and pred minBound should result in a runtime error. と書いてありますね。
2012-08-11 11:54:53succ (maxBound :: Int) *** Exception: Prelude.Enum.succ{Int}: tried to take `succ' of maxBound
2012-08-11 11:56:58@halcat0x15a @xuwei_k では、EnumLowのminmaxpredとかminmaxsuccはScalaz独自なんですね。
2012-08-11 11:58:41@halcat0x15a @ssmylh Haskellのenumにはmaxとかなくて、enumとは別にBoundedという別のtypeclassがあるけど、scalaz7の場合 Option 型でmaxとminのメソッドがenumにくっついてて、なぜこうなってるのかという
2012-08-11 12:06:07error投げるのが仕様なら、それはそれでありなきがするけど、もしそうなら EnumLaw か、もしくは、DoubleとFloatのminとmaxの値を修正するべきな気もするし https://t.co/O71LvDe5
2012-08-11 12:10:24Scalazのコード見る限りは例外投げる仕様とかありえないだろうし、succ,predがOption返すようになると使い辛いし・・・・
2012-08-11 12:14:53Enum[Int] の場合だったら max が Some なのはコンパイル時に決まるわけで、HaskellみたいにBounded class作らずに enum に max っていうメソッドがあるのも謎。なにか理由あるのかなんなのか
2012-08-11 12:16:45