Each week, we discuss a different topic about Clojure and functional programming.
If you have a question or topic you'd like us to discuss, tweet @clojuredesign, send an email to [email protected], or join the #clojuredesign-podcast
channel on the Clojurians Slack.
This week, the topic is: "core and composition." We venture toward the core of a solution.
Our discussion includes:
- Why do functional programmers like to talk about composition?
- What composition means in object-oriented programming vs functional programming.
- Must simple be simplistic?
- What is idiomatic composition?
- Common kinds of functions.
- Why functional programming is more like Legos than taxonomies.
- What Clojure already knows and what you have to teach it.
- Why Clojure allows you to put things together quickly.
- Why side effects can ruin everything.
- How Clojure encourages composition.
Selected quotes:
- "I don't think you want me to read code to you. That sounds like an excellent way to fall asleep if you have insomnia!"
- "Maybe we need a white noise track of keyboard noise."
- "Composition in a functional language is much simpler because we just have functions."
- "Why have we spent so much time talking about composition when it's just functions calling other functions?"
- "These names are a little on the nose, but programmers aren't always the best at originality!"
- "Functional programming is essentially based on transformation. Everything is a transform at some point in time."
- "The only way to get anything done is to return a new thing."
- "Core is a backbone, a spine, and you're connecting a progression of things together."
- "Your job, as a functional developer, is to teach Clojure core about your domain."
- "They're all functions that remix very well."
- "Everything must be pure because side effects mess up this whole world."
- "Make functions small because functional programming makes it very easy to combine smaller functions into bigger functions. Build up your functionality from those pieces."
Links: