我想打电话给斯卡拉的pure
方法,将价值放入状态monad。以下作品:在斯卡拉,是否有减少泛型类型的简写?
type IntState[A] = State[Int, A]
val a = "a".pure[IntState]
a(1)
(Int, java.lang.String) = (1,a)
我也可以消除类型别名(感谢Scalaz的Pure.scala):
val a = "a".pure[({type T[A]=State[Int,A]})#T]
a(1)
(Int, java.lang.String) = (1,a)
但是,这是非常笨重。是否有更短的方法来合成这样的类型?像函数文本占位符语法,有没有这样的:
"a".pure[State[Int, *]]
我不认为斯卡拉有这样的语法糖,因为[michid引用部分类型的应用](http://stackoverflow.com/questions/7045967/what-are-type-projections-useful-for/7046860#7046860 )作为类型投影的实用例子。 –