I have, but not in Haskell. Over in Flow land, well before we had the nicer `?.` nested property access, I worked on a React Native project that used them extensively. It was nice! We didn't do anything too fancy with them, they just allowed for safe (runtime) and safe (type-safe) access of some deeply nested state objects. Worked pretty well, and that project is still being developed today with no complaints (about that side of it anyway)
One of the nice things was being able to re-use and compose those lenses. Led to some really nice abstractions that were honestly pretty simple in practice, but to me that's the sign of a well-chosen tool.
One of the nice things was being able to re-use and compose those lenses. Led to some really nice abstractions that were honestly pretty simple in practice, but to me that's the sign of a well-chosen tool.