我想打電話給斯卡拉的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 )作爲類型投影的實用例子。 –