ClojureStream Podcast

E101 FC/IS with magnars


Listen Later

In this episode, we explore the Functional Core, Imperative Shell (FC/IS) architecture pattern popularized by Gary Bernhardt. This powerful approach separates pure business logic from side effects, resulting in code that's more testable, maintainable, and reasoning-friendly.
We'll discuss how FC/IS differs from traditional layered architectures by treating effects as data, enabling an impressive 85% of code to exist as pure functions. Using the analogy of a presidential cabinet, we explain how the functional core makes decisions while the imperative shell handles execution.
The episode covers practical implementation strategies, the crucial role of Datomic in solving the "all relevant facts" problem, and real-world benefits including enhanced REPL-driven development, simplified error reproduction, and improved system observability.
Emacs Rocks - https://emacsrocks.com
Parens of the dead - https://parens-of-the-dead.com
Replicant - https://replicant.fun
FC/IS - https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell
FC/IS with types https://www.youtube.com/watch?v=P1vES9AgfC4
Datomic - https://www.datomic.com
...more
View all episodesView all episodes
Download on the App Store

ClojureStream PodcastBy Jacek Schae

  • 5
  • 5
  • 5
  • 5
  • 5

5

24 ratings


More shows like ClojureStream Podcast

View all
defn by defn

defn

23 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

987 Listeners

CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

CoRecursive: Coding Stories

189 Listeners

The REPL by Daniel Compton

The REPL

15 Listeners

The Rest Is History by Goalhanger

The Rest Is History

12,935 Listeners