Preview, review
Prelude Control.Lens> view _Left (Left "abc")"abc"Prelude Control.Lens> view _Right (Right "abc")"abc"Prelude Control.Lens> view _Just (Just "abc")"abc"Prelude Control.Lens> preview _Left (Left "abc")Just "abc"Prelude Control.Lens> review _Left "abc"Left "abc"
- The preview and review functions handle either such and types
The preview function walks up a branch.
The review function goes down one branch.
Preview, review version of the operator
Prelude Control.Lens> Left "abc" ^. _Left"abc"Prelude Control.Lens> Left "abc" ^? _LeftJust "abc"Prelude Control.Lens> Right "abc" ^? _LeftNothingPrelude Control.Lens> Right "abc" ^? _RightJust "abc"Prelude Control.Lens> _Left # "abc"Left "abc"
Preview L x≡x ^? L
Review L X≡L # X
Tolistof and its operator versions
Prelude Control.Lens> toListOf traverse [1,2,3][1,2,3]Prelude Control.Lens> toListOf (traverse.traverse) [[1,2],[3]][1,2,3]Prelude Control.Lens> toListOf both (1,2)[1,2]Prelude Control.Lens> toListOf _1 (4, 1)[4]Prelude Control.Lens> [[1,2],[3]] ^..traverse.traverse[1,2,3]Prelude Control.Lens> (1,2) ^..both[1,2]Prelude Control.Lens> (4, 1) ^.._2[1]
Haskell Language Learning Notes (Lens) (2)