Lens type:
type Lens s t a b = forall f. Functor f => (a -> f b) -> s -> f t
, Lens'. :
forall f. Functor f => (a -> f a) -> s -> f s
, (a -> f a) s, , (s -> f s). ( f , , . .) :
( , , , "" "" .)
, . , (.) :
(.) :: (y -> z) -> (x -> y) -> (x -> z)
( forall). x a -> f a, y s -> f s z t -> f t. (.) :
((s -> f s) -> t -> f t) -> ((a -> f a) -> s -> f s) -> ((a -> f a) -> t -> f t)
, , (a -> f a) -> (t -> f t). , firstLens . secondLens , secondLens firstLens. , OO-, , .