2013-01-03 41 views
3

我一直在閱讀scalaz的鏡頭,你可以在https://github.com/scalaz/scalaz/blob/scalaz-seven/core/src/main/scala/scalaz/Lens.scala哪裏類型@>在scalaz源代碼?

找到線303啓動源,有返回類型@> [A,B]的值的函數。這是類型鏡頭別名?這是有意義的,以從我上下文和從所述符號中,這可能代表光的進入的圓形透鏡的光束的形狀。

但是爲什麼其他功能返回鏡頭[A,B]而不是時髦的別名?我沒有在文件中該符號搜索,並通過Lens.scala導入的文件,但無濟於事。

我在哪裏可以找到@>的定義是什麼?

回答

4

是的,這是一個類型別名,大多數這些便利型別名 - 包括@>的,但還搞什麼ReaderState,甚至Lens本身,這是LensFamily[...] -live在the scalaz package objectcore/src/main/scala/scalaz/package.scala一個類型別名。

事實上,A @> B在某些地方使用,Lens[A, B]在其他地方几乎肯定只是歷史事故和特定作者的偏好的結果。

+0

啊,我沒想到在包對象的樣子。謝謝! – Mark