π€ 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
16.02.2026 17:31 β
π 5
π 1
π¬ 0
π 0
Funx: Reducing Degrees of Freedom
Reducing degrees of freedom to make rules more dependable.
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
09.02.2026 21:15 β
π 3
π 0
π¬ 0
π 0
Funx: Free Your Predicates
βA complex system that works is invariably found to have evolved from a simple system that worked.β β John Gall
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
02.02.2026 18:46 β
π 2
π 0
π¬ 0
π 0
Funx: Equality as a Domain Rule
βA model is a selectively simplified and consciously structured form of knowledge.β β Eric Evans
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
27.01.2026 18:39 β
π 7
π 0
π¬ 0
π 0
Funx: Optics Working Together
βYouβre looking at it wrong.β β The Big Lebowski (1998)
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
21.01.2026 19:52 β
π 2
π 0
π¬ 0
π 0
Funx: The Optic Iso
βI see dead people.β β The Sixth Sense (1999)
Optics in Funx: same thing, different representations. Thatβs an Iso.
Includes a Livebook
www.joekoski.com/blog/2026/01...
#elixirlang #livebook #funx
14.01.2026 22:06 β
π 4
π 0
π¬ 0
π 0
Thanks!
09.01.2026 23:01 β
π 0
π 0
π¬ 0
π 0
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...
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
08.01.2026 23:14 β
π 15
π 1
π¬ 3
π 0
Funx: Adding the Optic Traversal
βYouβre either in or youβre out.β β Oceanβs Eleven (2001)
More optics in Funx: when you need multiple foci, use a traversal.
Includes a Livebook
www.joekoski.com/blog/2026/01...
#elixirlang #livebook #funx
05.01.2026 17:33 β
π 3
π 0
π¬ 0
π 0
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
01.01.2026 21:12 β
π 5
π 2
π¬ 0
π 0
I like that Ash is opinionated. I chalk up the lack of parallelized validation to βvalidations should be fast and local,β which seems like a reasonable call.
I also like how easy it is to drop in and out of the DSL.
30.12.2025 02:55 β
π 3
π 0
π¬ 0
π 0
Wow! Glad it helped!
29.12.2025 19:55 β
π 1
π 0
π¬ 0
π 0
I really like Ash!
29.12.2025 19:02 β
π 1
π 0
π¬ 1
π 0
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...
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
22.12.2025 20:54 β
π 7
π 0
π¬ 1
π 0
Funx: Adding the Optic Prism
βThe problem is choice.β β Neo, The Matrix (1999)
More optics in Funx: name your shareable boundaries with prisms.
Includes a Livebook.
www.joekoski.com/blog/2025/12...
#elixirlang
22.12.2025 17:48 β
π 7
π 0
π¬ 0
π 1
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)
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
16.12.2025 17:46 β
π 9
π 4
π¬ 0
π 0
Funx: Adding tap
Tap tap tap-a-roo
New blog post: After building out the Either DSL, I realized Funx needed a context-aware tap.
www.joekoski.com/blog/2025/12...
#elixirlang
08.12.2025 22:57 β
π 4
π 0
π¬ 0
π 0
Ash Framework: Lessons from its DSL
Lifting (or perhaps stealing) some of Ashβs good ideas.
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
02.12.2025 21:07 β
π 15
π 1
π¬ 0
π 0
Ash Framework: Calculations and Uncertainty
How Ash calculations work and ways to deal with missing or uncertain data.
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
25.11.2025 21:20 β
π 7
π 1
π¬ 0
π 0
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!
20.11.2025 17:26 β
π 1
π 2
π¬ 0
π 0
Thanks, glad you like it!
18.11.2025 21:28 β
π 2
π 0
π¬ 0
π 0
Ash Framework: Diving into Validation
βThatβs just, like, your opinion, man.β βThe Big Lebowski (1998)
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
18.11.2025 21:07 β
π 19
π 5
π¬ 2
π 1
Ash Framework: A Closer Look at Actions
Time for a closer look at actions.
Another in my series on the Ash Framework. Understanding actions from a functional programming perspective.
www.joekoski.com/blog/2025/11...
#elixirlang
12.11.2025 19:57 β
π 7
π 0
π¬ 0
π 0
Ash Framework: Evaluating Ash for Existing Systems
How difficult is it to incorporate Ash into an existing codebase?
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
03.11.2025 19:44 β
π 11
π 4
π¬ 0
π 0
Ash Framework: Combining Ash Writes with Electric Reads
Exploring how Ash implements Ecto.
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
27.10.2025 20:26 β
π 9
π 1
π¬ 0
π 0