https://github.com/scalaz/scalaz/pull/693 tagged typeとは、Haskellのnewtypeみたいなやつです。 newtypeみたいといいつつ、今までは、元の型のメソッドもそのまま呼べていて、その点ではHaskellのnewtypeと結構異なるものでした。それにより(?)たとえば、こんな問題発生します https://github.com/scalaz/scalaz/issues/338 これ以外にも色々微妙な問題があります。そもそも、tagged type自体、Scalaのバグか仕様かわからないギリギリのところと、JVMのtype erasureを悪用したものなので、まぁ問題が発生するのは当たり前かもしれません。 それで、「元の型のメソッドを直接呼べない」新しいtagged typeが入りました。よりHaskellのnewtypeっぽくな
### Equal[A] ```scala def equal(a1: A, a2: A): Boolean (1 === 2) assert_=== false (2 =/= 1) assert_=== true ``` ### Order[A] ```scala def order(x: A, y: A): Ordering 1.0 ?|? 2.0 assert_=== Ordering.LT 1.0 lt 2.0 assert_=== true 1.0 gt 2.0 assert_=== false 1.0 lte 2.0 assert_=== true 1.0 gte 2.0 assert_=== false 1.0 max 2.0 assert_=== 2.0 1.0 min 2.0 assert_=== 1.0 ``` ### Show[A] ```scala def show
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く