#clojure#composition#apidesign
Zach Tellman - Always Be Composing
111K subscribers • 159 videos on Hallway
- Recommended by 2 people: 1 in engineering communities and 1 curated list.
- Presented by Zach Tellman
- An opinion. It argues one side of a question engineers disagree on.
Intermediate. Assumes working knowledge.
23K views11 years ago2 recommendations
Software designProgramming languagesDesign patternsLisp and ClojureFunctional programming
Zach Tellman discusses the constraints and design choices that allow Clojure libraries and code to compose cleanly with one another.
The Clojure ecosystem, we're told, is made up of small, composable libraries. In practice, though, it's all too common to find that two libraries simply will not cleanly compose. This typically will lead to another library that does the same thing, but in a subtly different way. Sometimes this is warranted, but often it's not. This talk will discuss the constraints and affordances that make a piece of code play nicely with other pieces of code. Attendees will learn how to write clean, reusable Clojure, drawing on the speaker's many past failures and few notable successes. The first place I think of, when I try to tell someone about this quality, is a corner of an English country garden, where Zach Tellman grows against a wall. The wall runs east to west; Zach grows flat against its southern side. The sun shines on him and as it warms the bricks behind Zach, the warm bricks themselves warms the peaches on him. It has a slightly dozy quality. Zach, carefully tied to grow flat against the wall; warming the bricks; the peaches growing in the sun; the wild grass growing around Zach's roots, in the angle where the earth and roots and wall all meet.Why it's here
2 people recommend thisWhat people say. Recommended as an essential talk on API design, abstraction, and building truly composable software libraries.
programming-talkscurated list on GitHubRecommends
Under “Clojure”
u/nonrecursivein r/Clojure • Mentions
On “Elements of Clojure”
u/flokaterin r/Clojure • Mentions
On “Data > Functions > Macros. But why?”
u/rafalwin r/Clojure • Mentions
On “New Clojurians: Ask Anything”
u/goodpairosocksin r/ProgrammingLanguages • Mentions
On “Macros good? bad? or necessary?”
u/yogthosin r/Clojure • Mentions
On “Data > Functions > Macros. But why?”
u/jamesconroyfinnin r/Clojure • Mentions
On “Is it only possible to call deftest and have it work properly in top level forms - and why?”
u/yogthosin r/Clojure • Mentions
On “Respo: A virtual DOM library in ClojureScript”
u/yogthosin r/Clojure • Mentions
On “What are Clojurians' critiques of Haskell?”
u/zerg000000in r/Clojure • Mentions
On “Data-Driven Development is a Lie”