I’m continuing my series of articles about Elixir on dev.to. My latest piece explores Function Composition - showing how to build complex functionality from simple, composable parts.
The article covers:
Basic composition techniques with anonymous functions
Higher-order functions and partial application
Composing functions that work with {:ok, value} tuples
Real-world examples: data pipelines and middleware patterns
Best practices for writing composable code
Function composition is fundamental to functional programming, enabling you to create modular, testable, and maintainable Elixir code.
Recently, I wrote about recent updates in our Permit authorization libraries as well as introducing works in progress for Permit.Absinthe, which should make GraphQL API query & mutation authorization a lot easier and more streamlined.
As noted in my recent ElixirConf EU presentation, and mentioned in the previous article, we’re working on finessing several new ideas and exploring a couple of new concepts that Permit can be adapted to support.
The article discusses possibilities for integrating the Permit authorization library with the likes of Ash and Commanded, as well as feasible optimizations and improvements we’re exploring to put in the roadmap - including brainstorming about Postgres RLS.
I’ve published a new article in my Elixir learning series on dev.to exploring Pattern Matching - Elixir’s most powerful feature for writing declarative code.
The article covers:
Basic concepts and the match operator
Pattern matching with lists, maps, and structs
Function clauses and guards
Advanced techniques like the pin operator
Best practices and common patterns
With practical examples and IEx sessions throughout, you’ll learn how to replace complex conditionals with elegant pattern matching.
I’ve published a new article in my Elixir learning series on dev.to exploring Lists - the fundamental data structure that powers functional programming in Elixir.
The article covers:
List basics and syntax
Head/tail decomposition and pattern matching
Recursive list processing
List comprehensions and generators
Performance characteristics and optimization
Common list operations and Enum functions
With practical examples and IEx sessions throughout, you’ll learn how to effectively work with lists and leverage their immutable nature for building robust applications.
Learning Elixir: Tuples New article in my Elixir learning series exploring Tuples - the immutable, ordered data structure essential for functional programming in Elixir.
The article covers:
Tuple syntax and basic operations
Pattern matching with tuples
Immutability and performance characteristics
When to choose tuples vs other data structures
Common use cases and best practices
With practical examples and IEx sessions to help you master tuples in your Elixir applications.