Compose lenses whilst preserving unfocussed data
This commit is contained in:
3 files changed
+12
No files matched your search
@@ -5,3 +5,7 @@ let lens ~view ~set = view, set
|
||||
let view (get, _) = get
|
||||
let set (_, put) = put
|
||||
let over (get, put) ~f source = put (f (get source)) source
|
||||
|
||||
let compose (outer_get, outer_put) (inner_get, inner_put) =
|
||||
(fun source -> inner_get (outer_get source)),
|
||||
(fun value source -> outer_put (inner_put value (outer_get source)) source)
|
||||
Reference in new issue
Block a user