Slide 19
Slide 19 text
struct Lens {
...
func compose(_ other: Lens) -> Lens {
return Lens(
get: { (source: S) -> U in
other.get(self.get((source)))
},
set: { (source: S, value: U) -> S in
self.set(source, value: other.set(self.get(source), value: value))
}
)
}
}
19