Talks to Watch

Understanding Specter: Clojure's missing piece

12K views · Oct 6, 2017 · 40:31 · 1 HN recommender · 3 mentions · discussed 2017–2021

A screencast tutorial on Specter, a Clojure library for navigating and transforming nested data structures declaratively, demonstrated in a REPL.

Why Hacker News points people here: Pointed to as a short, clear demonstration of how Specter simplifies manipulating complex nested data.

“I highly recommend watching this short video to see how it works.”HN comment, 2017

What Hacker News said 3

RecommendsyogthosOct 2017

“I highly recommend watching this short video to see how it works.”

Short video showing how Specter declaratively transforms complex data.

Full comment

Explicit recursion is rarely used in FP, and it's often a code smell. It's almost always better to use higher order functions instead. The advantage is that you can implement a particular transformation once, check for edge cases, and reuse it from there on. You also end up with declarative code that talks about what it's doing without distracting your with implementation details. Clojure has a rich set of functions for manipulating data such as map, filter, reduce, and so on. There are also libraries such as Specter link that allow you to declaratively transform complex data. I highly recommend watching this this video short video to see how it works.

in “Why I'm Productive in Clojure (2013)” · view on HN
Cites itScarbuttJun 2019

Specter mentioned as a more powerful option for nested data.

Full comment

(assoc-in foo ["bar" "alice" "bob"] 12) Of course, in clojure you mostly use :keywords instead "strings" as keys which has a ton of benefits. There's also specter if want something more powerful at the cost of an additional lib. link this video

in “Why GitHub used Haskell for Semantic” · view on HN
Cites itkgwxdMar 2021

“One of the first things the video covers is how the library deals with this concern.”

Video covers how Specter handles data structure type concerns.

Full comment

> You might just be using a completely different underlying data structure than expected, depending on which operations you've performed. I haven't had the pleasure of using Clojure in production, but I'm somewhat obsessed with the language and follow it fairly closely. Someone on r/Clojure[1] mentioned Specter[2] with a link to this video[3]. One of the first things the video covers is how the library deals with this concern. [1] link [2] link [3] this video

in “Clojure from a Schemer's Perspective” · view on HN