Sveriges mest populära poddar

Functional Design in Clojure

Ep 095: Composing Core

18 min • 19 oktober 2023

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:

Förekommer på
00:00 -00:00