Understanding Specter: Clojure's missing piece
Misophistful1 HN recommender · recommended in 1 month, 2017-2021
12K views · 9 years ago · tutorial · dated
A screencast tutorial on Specter, a Clojure library for navigating and transforming nested data structures declaratively, demonstrated in a REPL.
Pointed to as a short, clear demonstration of how Specter simplifies manipulating complex nested data.
32:44Clojure in a nutshell by James Trunk
Func Prog Sweden
104K views • 5 years ago
1:48:13Clojure for Java Programmers Part 1 - Rich Hickey
ClojureTV
131K views • 13 years ago
1:02:26Solving Problems the Clojure Way - Rafal Dittwald
Clojure/north
87K views • 7 years ago
40:00"Agility & Robustness: Clojure spec" by Stuart Halloway
Strange Loop Conference
25K views • 10 years ago
53:56Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure
jasonofthel33t
119K views • 13 years ago
1:03:29Maybe Not - Rich Hickey
ClojureTV
181K views • 7 years ago
1:28:59Clojure for Lisp Programmers Part 1 - Rich Hickey
ClojureTV
25K views • 13 years ago
1:50:07JSON Parser 100% From Scratch in Haskell (only 111 lines)
Tsoding
205K views • 6 years ago
4:57Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made Simple
Fred Overflow
43K views • 6 years ago
1:14:52Effective Programs - 10 Years of Clojure - Rich Hickey
ClojureTV
176K views • 9 years ago
1:04:35The Algebra of Algebraic Data Types
London Haskell
27K views • 13 years ago
1:00:58The Next Five Years of ClojureScript - David Nolen
Metosin
19K views • 10 years ago
1:19:57Simon Peyton Jones: Data Parallel Haskell
nuACM
28K views • 16 years ago
2:32:39Clojure Concurrency - Rich Hickey
ClojureTV
73K views • 13 years ago
1:02:15Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming in JavaScript
Fullstack Academy
227K views • 9 years ago
1:01:39"Simple Made Easy" - Rich Hickey (2011)
ClojureTV
434K views • 5 years ago
33:06REBL - Stuart Halloway
ClojureTV
25K views • 7 years ago
12:56Stephen Wolfram's Introduction to the Wolfram Language
Wolfram
924K views • 12 years ago
1:05:51The Functional Programmer's Toolkit - Scott Wlaschin
NDC Conferences
79K views • 7 years ago
1:10:16Saša Jurić - Parsing from first principles - WebCamp Zagreb 2019
WebCamp Zagreb
6K views • 7 years ago
3 comments from Hacker News
> 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
(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
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.