u/nuggets510in r/Clojure • Recommends
Clojure libary Meander: Declarative Explorations at the Limits of FP by Jimmy Miller
#meander#clojure#declarativeprogramming
88K subscribers • 107 videos on Hallway • Conference channel
Intermediate. Assumes working knowledge.
10K views7 years ago2 recommendations
Programming languagesSoftware designLisp and ClojureFunctional programming
Jimmy Miller introduces Meander, a Clojure library for declarative data transformation using logic programming and term rewriting.
As functional programmers we love to pay lip service to declarative data transformation. Yet this allegiance rarely plays out in our actual code. Data transforming combinators (map, filter, reduce, etc) offer significant expressive power over manual loops and mutation, but when combined in complex ways, lose their declarative power. Lost in a web of nested pipelines, the shape of our data becomes obscured; our code becomes hard to follow. We wind up, yet again, needing to play computer in our heads to understand what our code is doing. Meander is an exploration into truly declarative data manipulation created as a library in Clojure. Borrowing ideas from logic programming and term rewriting, Meander allows declarative descriptions of arbitrarily complex data; enabling you to search, match, remember, join, and transform any part of your data directly. This talk will show you how to leverage Meander to declaratively solve real-world data transformation problems, give you insight into how Meander remains both performant and expressive, and finally cast a vision for what a more declarative future for functional programming may hold. Jimmy Miller Adzerk @jimmyhmiller Jimmy is a Senior Software Engineer at Adzerk where he uses Clojure to build data transformation and analysis systems. In his spare time he enjoys exploring programming language theory, reading analytic philosophy, and writing code that no one will ever use.What people say. Recommended as a cool library for declarative data manipulation in Clojure.
u/nuggets510in r/Clojure • Recommends
u/slifinin r/Clojure • Recommends