John Wiegley's BayHac 2017 talk walks through Haskell lenses by example, showing many practical uses beyond simple record access. It is aimed at people who want to become productive with the lens library.
Why Hacker News points people here: HN recommends it as the fastest way to learn lenses by example, with far-out examples later on.
“you can learn enough lens to be productive in 1 hours with this talk without reading docs at all”HN comment, 2020
“you can learn enough lens to be productive in 1 hours with this talk without reading docs at all”
Learn enough lens usage to be productive in an hour.
Full comment
and you can learn enough lens to be productive in 1 hours with this talk without reading docs at all. You can skip the theory and go straight to usage: this video
Strongly recommendsturboponyyJul 2024
“serves as a great introduction by example”
Great introduction to lenses by example, with humorous audience.
Full comment
As with anything Haskell, one could simply reply with "here's the formal definition." But in easily digestible terms, it's a way to narrow your view over a collection to a subset that satisfies some property, and perhaps perform some operations on that subset. This video presentation (with a very humorous audience dynamic, might I add) serves as a great introduction by example: this video
RecommendsParetoOptimalJun 2022
“Good examples in "Putting lenses to work" by John Weigley”
Good examples of lens usage.
Full comment
Good examples in "Putting lenses to work" by John Weigley: this video Then for a great book that gives a great understanding see Chris Penner's amazing and fun "Optics by example: link
RecommendsParetoOptimalJun 2022
“More are in this presentation”
More examples of lenses beyond record access.
Full comment
> Lenses let you do some amazing things, but I think most of their existence is just thanks to how truly horrible (nested) record field access and updates were. Only for the most basic uses. Architecting programs as folds or traversals can be powerful. One simple example of lenses i can think of being useful for more than record access is: > sumOf (folded . folded) [Just 1, Just 2] 3 More are in this presentation: this video
RecommendslgasNov 2022
“I would also recommend as a good video on lenses”
Good lens video with far-out examples in the later portion.
Full comment
Definitely agree on lenses being one of the more mind blowing things I've encountered and eventually grokked in programming. I would also recommend this video as a good video on lenses in part because the latter portion has some pretty far-out examples of that deep well you mentioned.