重複の可能性:
Scala の型ラムダとは何ですか? また、その利点は何ですか?
この型定義を解決する方法:
Pure[({type ?[a]=(R, a)})#?]
?そのような構造を使用する理由は何ですか?
Snipped は scalaz ライブラリから来ています:
trait Pure[P[_]] {
def pure[A](a: => A): P[A]
}
object Pure {
import Scalaz._
//...
implicit def Tuple2Pure[R: Zero]: Pure[({type ?[a]=(R, a)})#?] = new Pure[({type ?[a]=(R, a)})#?] {
def pure[A](a: => A) = (Ø, a)
}
//...
}