🤔 What happens to pipelines when branching enters the picture? @jkwa.bsky.social shows how Ash's DSL approach solves this - intent-focused composition that stays ergonomic. Learn: better DSL patterns, complex workflows, clearer code codebeamvancouver.com#tickets
Joseph Koski
@jkwa.bsky.social
Author of Functional Programming with Elixir (beta, PragProg). Writing at joekoski.com.
Advanced BEAM Architecture at Code BEAM Vancouver Joseph Koski: Better DSLs Nicholas Geraedts: GraphQL with Spark Lorena Mireles: BEAM concurrency limits Learn: → Intent-focused DSLs → Developer experience → Concurrency costs codebeamvancouver.com#tickets
Funx: Reducing Degrees of Freedom Rules built from a consistent set of primitives with clear semantics are easier to reason about, review, and evolve. Includes a Livebook so you can try it yourself. www.joekoski.com/blog/2026/02... #elixirlang #livebook #funx
Funx: Reducing Degrees of Freedom
Reducing degrees of freedom to make rules more dependable.
joekoski.com
Funx: Free Your Predicates Avoid burying your domain rules in control flow. Includes a Livebook so you can try it yourself. www.joekoski.com/blog/2026/02... #elixirlang #livebook #funx
Funx: Free Your Predicates
“A complex system that works is invariably found to have evolved from a simple system that worked.” — John Gall
joekoski.com
Funx Eq: What does “same” mean in your domain? How to model equality as a domain rule. Includes a Livebook so you can try it yourself. www.joekoski.com/blog/2026/01... #elixirlang #livebook #funx
Funx: Equality as a Domain Rule
“A model is a selectively simplified and consciously structured form of knowledge.” — Eric Evans
joekoski.com
Optics in Funx: optics don’t live alone. Lens, Prism, Traversal, and Iso work together. Includes a Livebook www.joekoski.com/blog/2026/01... #elixirlang #livebook #funx
Funx: Optics Working Together
“You’re looking at it wrong.” — The Big Lebowski (1998)
joekoski.com
Optics in Funx: same thing, different representations. That’s an Iso. Includes a Livebook www.joekoski.com/blog/2026/01... #elixirlang #livebook #funx
Funx: The Optic Iso
“I see dead people.” — The Sixth Sense (1999)
joekoski.com
My book is #1 on Amazon! Proving once again that you can be #1 in anything, as long as you control the denominator. a.co/d/dPiWKRE
Advanced Functional Programming with Elixir: Model Behavior, Manage Complexity, and Maximize Maintainability: Koski, Joseph, Tulton, Adaobi Obi: 9798888651797: Amazon.com: Books
Advanced Functional Programming with Elixir: Model Behavior, Manage Complexity, and Maximize Maintainability [Koski, Joseph, Tulton, Adaobi Obi] on Amazon.com. *FREE* shipping on qualifying offers. Ad...
a.co
New speakers: Lorena Miles, @hayleigh.dev & @jkwa.bsky.social join Code BEAM Lite Vancouver! More announcements coming. Join waiting list for exclusive pricing. codebeamvancouver.com#speakers
More optics in Funx: when you need multiple foci, use a traversal. Includes a Livebook www.joekoski.com/blog/2026/01... #elixirlang #livebook #funx
Funx: Adding the Optic Traversal
“You’re either in or you’re out.” — Ocean’s Eleven (2001)
joekoski.com
Insight: Top Ten 2025 Titles at pragprog.com #6 Advanced Functional Programming with Elixir by Joseph Koski @jkwa.bsky.social pragprog.com/titles/... Use code INSIGHT to save 40% off this title (and almost everything else) at pragprog.com
My book up on Amazon 🎉 About 900 people have already purchased it directly from the Pragmatic Bookshelf. If you’re one of them, I’d really appreciate a review. Even a quick sentence or two makes a huge difference. a.co/d/bWoZwVc
Advanced Functional Programming with Elixir: Model Behavior, Manage Complexity, and Maximize Maintainability: Koski, Joseph, Tulton, Adaobi Obi: 9798888651797: Amazon.com: Books
Advanced Functional Programming with Elixir: Model Behavior, Manage Complexity, and Maximize Maintainability [Koski, Joseph, Tulton, Adaobi Obi] on Amazon.com. *FREE* shipping on qualifying offers. Ad...
a.co
More optics in Funx: name your shareable boundaries with prisms. Includes a Livebook. www.joekoski.com/blog/2025/12... #elixirlang
Funx: Adding the Optic Prism
“The problem is choice.” — Neo, The Matrix (1999)
joekoski.com
Couldn't fit optics in my book, but I can build them into Funx. Here's why lawful lenses matter (even in Elixir): www.joekoski.com/blog/2025/12... #elixirlang
Funx: Adding the Optic Lens
“I didn’t say it would be easy. I just said it would be the truth.” —Morpheus, The Matrix (1999)
joekoski.com
New blog post: After building out the Either DSL, I realized Funx needed a context-aware tap. www.joekoski.com/blog/2025/12... #elixirlang
Funx: Adding tap
Tap tap tap-a-roo
joekoski.com
New post in my Ash Framework series. This time I’m lifting a few of Ash’s DSL ideas (or stealing them outright) to build an Either DSL in Funx. www.joekoski.com/blog/2025/12... #elixirlang @pragprog.com
Ash Framework: Lessons from its DSL
Lifting (or perhaps stealing) some of Ash’s good ideas.
joekoski.com
A new post in my series on the Ash Framework. This one looks at calculations and includes functional programming strategies for managing uncertainty. www.joekoski.com/blog/2025/11... #elixirlang @pragprog.com
Ash Framework: Calculations and Uncertainty
How Ash calculations work and ways to deal with missing or uncertain data.
joekoski.com
When the work of our authors intersects, it's amazing. Such a privilege to provide a platform for all these talented, passionate humans. And, their books are included in our Black Friday, 50% off sale!
A new post in my series on the Ash Framework. This one explores the underlying mechanics of Ash validation and where Funx can help when checks need more structure or concurrency. www.joekoski.com/blog/2025/11... #elixirlang @pragprog.com
A new post in my series on the Ash Framework. This one explores the underlying mechanics of Ash validation and where Funx can help when checks need more structure or concurrency. www.joekoski.com/blog/2025/11... #elixirlang @pragprog.com
Ash Framework: Diving into Validation
“That’s just, like, your opinion, man.” —The Big Lebowski (1998)
joekoski.com
Another in my series on the Ash Framework. Understanding actions from a functional programming perspective. www.joekoski.com/blog/2025/11... #elixirlang
Ash Framework: A Closer Look at Actions
Time for a closer look at actions.
joekoski.com
Yet another in my series on the Ash Framework. I wanted to explore what it’s like to bring Ash into an existing project. www.joekoski.com/blog/2025/11... #elixirlang
Ash Framework: Evaluating Ash for Existing Systems
How difficult is it to incorporate Ash into an existing codebase?
joekoski.com
Adding to my series on the Ash Framework book. Exploring how Ash works with Ecto and taking the opportunity to try a promising new library called Electric. www.joekoski.com/blog/2025/10... #elixirlang @pragprog.com
Ash Framework: Combining Ash Writes with Electric Reads
Exploring how Ash implements Ecto.
joekoski.com
Beta Update Advanced Functional Programming with Elixir by @jkwa.bsky.social Model Behavior, Manage Complexity, and Maximize Maintainability pragprog.com/titles/... B5.0 Release Notes: * Production complete. On to layout & print. (Already purchased? Check your email for a download link.)
Adding to my series on the Ash Framework book. Taking a closer look at messy authorization. www.joekoski.com/blog/2025/10... #elixirlang @pragprog.com
Ash Framework: Why Authorization gets Messy
Where is the mess?
joekoski.com
Back from vacation and I thought I'd add to my series on the Ash Framework book. Why does authorization logic get messy? www.joekoski.com/blog/2025/10... #elixirlang @pragprog.com
Ash Framework: Authorization and Monoids
Authorization logic gets messy fast.
joekoski.com
Alongside the book, you’ll find a production-ready library that implements these abstractions—fully tested, well documented, and ready to use. Advanced Functional Programming in Elixir by @jkwa.bsky.social pragprog.com/titles/... 40% off through the weekend with code Pragpicks
Next in my series on the Ash Framework book. What makes Ash different? www.joekoski.com/blog/2025/10... #elixirlang @pragprog.com
Ash Framework: The Coordination Problem
Not organization but coordination.
joekoski.com
I learn best by writing, so I wrote up some higher-level notes on Ash from the Ash Framework book. I thought others might find it useful: www.joekoski.com/blog/2025/10... #elixirlang @pragprog.com
Ash Framework: My Misconceptions
It’s all about the domain.
joekoski.com