Skip to content
0:00 / 0:00

#specter#clojure#nesteddata

"Specter: overcome your fear of nested Clojure data" by Nathan Marz

Strange Loop Conference

88K subscribers • 107 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 1 in engineering communities and 1 curated list.
  • Presented by Nathan Marz

Intermediate. Assumes working knowledge.

12K views11 years ago2 recommendations

Programming languagesSoftware designLisp and ClojureData structures

Nathan Marz introduces Specter, a library designed to make querying and transforming nested Clojure data structures simple and performant.

Clojure revolves around immutable values and manipulation of those values. However, it does not provide good mechanisms for manipulating combinations of those values: like a map of sequences of maps of maps. Code that aims to manipulate these nested data structures complects navigation code with the desired query or transformation. Code like this is painful to write and ugly to read. Specter is a library that makes querying and transformation of nested data structures simple, easy, and efficient. At its core it abstracts away the concept of data structure navigation and makes these navigations highly composable. Specter can manipulate any of Clojure's maps, sequences, records, and sets, and by hooking into Specter's protocols you can use it to manipulate any data structure. On top of all this, Specter is highly performant: for example, Specter's equivalent to update-in runs 5x faster. Once you've used Specter, it's hard to imagine programming Clojure without it. Nathan Marz RED PLANET LABS, INC. @nathanmarz Nathan is the creator of the open source projects Apache Storm and Cascalog. He is the author of the book "Big Data: principles and best practices of scalable realtime data systems". He was the lead engineer of BackType until BackType was acquired by Twitter. At Twitter, he created the streaming compute team, a core infrastructure team within the company. He left Twitter in 2013 to work on a new startup. When not coding, you can often find him 3500 feet overhead, flying a small plane and enjoying the view.

Why it's here

2 people recommend this

What people say. Highly recommended by Clojure developers for learning how to manipulate complex nested data structures efficiently.

u/cntxin r/Clojure • Recommends

"Specter: Clojure's Missing Piece" by Nathan Marz (Strange Loop 2015)

programming-talkscurated list on GitHubRecommends

Under “Clojure”

Specter: overcome your fear of nested Clojure data 00:41:50 by **Nathan Marz** (2015)