John Wiegley: Putting Lenses to Work

Bay Area Haskell4 HN recommenders · 2020–2024
13K views · talk · evergreen · Uploaded 2017-04-22

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.

HN recommends it as the fastest way to learn lenses by example, with far-out examples later on.

Watch on YouTube

5 comments from Hacker News

@platz2020 · in “Haskell for a New Decade [pdf]”

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: [VIDEO]

Strongly recommendsView on HN
@ParetoOptimal2022 · in “Dhall: A Gateway Drug to Haskell”

Good examples in "Putting lenses to work" by John Weigley: [VIDEO] Then for a great book that gives a great understanding see Chris Penner's amazing and fun "Optics by example: [LINK]

RecommendsView on HN
@ParetoOptimal2022 · in “Lenses”

> 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: [VIDEO]

RecommendsView on HN
@lgas2022 · in “Ask HN: What piece of code/codebase blew your mind when you saw it?”

Definitely agree on lenses being one of the more mind blowing things I've encountered and eventually grokked in programming. I would also recommend [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.

RecommendsView on HN
@turboponyy2024 · in “Ask HN: What resources do you recommend for learning Haskell?”

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: [VIDEO]

Strongly recommendsView on HN