Bifunctors
bimap fL fR lens
Section titled “bimap fL fR lens”Map both branches of the lens result.
fLapplied to left;fRapplied to rightsetis unchanged (onlygettransforms)
(bend.bimap (_: "err") (x: x * 2) bend.int).get 5# right 10
(bend.bimap (_: "err") (x: x * 2) bend.int).get "bad"# left "err"lmap f lens
Section titled “lmap f lens”Map left branch only; pass right unchanged.
(bend.lmap (_: "replaced") bend.int).get "bad"# left "replaced"
(bend.lmap (_: "replaced") bend.int).get 42# right 42rmap f lens
Section titled “rmap f lens”Map right branch only; pass left unchanged.
(bend.rmap (x: x + 1) bend.int).get 5# right 6
(bend.rmap (x: x + 1) bend.int).get "bad"# left "bad"