Previous Episode: Ep 094: Concrete Composition
Next Episode: Ep 096: Gaming Data

We venture toward the core of a solution.

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:

Ep 075: Merge With Fun
Ep 079: Compose Thyself
Ep 093: Waffle Cakes
Ep 094: Concrete Composition

Twitter Mentions