🤔 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
Posts by Joseph Koski
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: 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 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
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
Optics in Funx: same thing, different representations. That’s an Iso.
Includes a Livebook
www.joekoski.com/blog/2026/01...
#elixirlang #livebook #funx
Thanks!
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
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
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
Funx: Reorganizing Eq and Ord
www.joekoski.com/blog/2025/12...
#elixirlang
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.
Wow! Glad it helped!
I really like Ash!
Funx Optics: Declare your order.
www.joekoski.com/blog/2025/12...
#elixirlang
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
More optics in Funx: name your shareable boundaries with prisms.
Includes a Livebook.
www.joekoski.com/blog/2025/12...
#elixirlang
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
New blog post: After building out the Either DSL, I realized Funx needed a context-aware tap.
www.joekoski.com/blog/2025/12...
#elixirlang
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
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
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!
Thanks, glad you like it!
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
Another in my series on the Ash Framework. Understanding actions from a functional programming perspective.
www.joekoski.com/blog/2025/11...
#elixirlang
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
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