鏡頭構成
如果你有一個 f::Lens' a b 和一個 g::Lens' b c 那麼 f . g 是通過首先跟隨 f 然後 g 獲得的 Lens' a c。值得注意的是:
- 鏡頭構成為功能(實際上他們只是在功能)
- 如果你想到
Lens的view功能,似乎資料流從左到右 - 這可能會讓你感覺倒退到你對函式組合的正常直覺。另一方面,如果你認為.-notation 就像在 OO 語言中發生的那樣,它應該感覺很自然。
不僅僅是用 Lens 組成 Lens,(.) 可以用來組成幾乎任何“Lens-like”型別。由於型別變得越來越難以理解結果並不總是很容易,但你可以使用 lens 圖表來計算出來。組合物 x . y 具有該圖表中 x 和 y 的型別的最小上限型別。