Advanced Functional Programming with Elixir
by Joseph Koski, Adaobi Obi Tulton
Use advanced functional programming principles, practical domain-driven design techniques, and production-ready Elixir code to build scalable, complex systems from simple, reusable components.
Combine advanced functional programming concepts with production-ready Elixir and proven domain-driven design techniques to write cleaner, more thoughtful software. You'll explore foundational ideas like equality, ordering, predicates, monoids, and monads-then go beyond syntax as you develop intuition for composing logic, modeling behavior, and growing systems. With a focus on maintainable, declarative code over theory, you'll gain practical, composable patterns you can apply right ready to manage crowds, adjust priorities, and keep everyone safe in FunPark, a place that never sits still. Your job is to model that complexity and build the systems that keep everything running smoothly, even as the business team is still figuring out what they want and the experts keep rewriting the core abstractions-equality, ordering, predicates, monoids, and monads-you'll break problems into small, composable pieces that are both well-behaved and easy to combine. Rather than getting bogged down in theory or formal proofs, you'll dive into real-world Elixir-using protocols, structs, and pattern matching to express shared behavior across your domain. Along the way, you'll build the vocabulary and mental models you need to organize complex logic, supported by a production-ready open-source library you can use, extend, and explore in your own you're an Elixir developer mastering functional programming or a functional programmer exploring Elixir, you'll discover how to write code that's easier to reason about-and create systems that stay understandable, even as they grow.
What You Need:To follow along with the examples in this book, you'll need Elixir version ~> 1.16, access to the interactive shell (iex), and a code editor that supports Elixir syntax-such as Visual Studio Code, Neovim, or any editor you're comfortable with. You won't need Phoenix or any additional setup; the examples are minimal and self-contained, so you to focus on functional concepts without configuration overhead. If you're unsure how to install Elixir, see the official instructions at .
Paperback
Brand New
Table of Contents
IntroductionHow This Book WorksWho This Book Is ForOnline ResourcesConventions Used In This BookBuild FunPark: Model Real-World DataDefine the Ride ModelImplement Fast Passes for Priority AccessModel the PatronsSpeak the LanguageWhat We've LearnedImplement Domain-Specific Equality with ProtocolsPolymorphic EqualityImplement Equality for FunPark ContextsEquality Is ContextualTransform Inputs Before MatchingHarness Equality for CollectionsWhat We've LearnedCreate Flexible Ordering with ProtocolsDefine Order with a ProtocolImplement Order for FunPark ContextsTransform Inputs Before ComparisonHarness Order for CollectionsReverse the OrderReduce Repetitive Code with MacrosWhat We've LearnedCombine with MonoidsDefine the ProtocolCombine Numbers with SumCombine EqualityCombine OrderGeneralize MaximumManage ComplexityWhat We've LearnedDefine Logic with PredicatesSimple PredicatesCombine PredicatesPredicates That Span ContextsCompose Multi-Arity Functions with CurryHarness Predicates for CollectionsModel the FastPassFold Conditional LogicWhat We've LearnedCompose in Context with MonadsBuild the MonadModel Neutrality with IdentityWhat We've LearnedAccess Shared Environment with ReaderBuild the StructuresMonad BehaviorsAvoid Prop DrillingDependency InjectionShared ConfigurationWhat We LearnedManage Absence with MaybeBuild the StructuresFold BranchesLift Other ContextsBridge Elixir PatternsDefine EqualityEstablish OrderLift Custom ComparisonsModel Absence in a MonoidImplement the Monadic BehaviorsRefine ListsFilter Within CompositionWhat We've LearnedModel Outcomes with EitherStructure of EitherValidationFrom Bind to CombineMake Errors ExplicitWhat We've LearnedCoordinate Tasks with EffectBuild the EffectDeferred TransformationEffectful StoreMaintenance RepositoryInject Behavior, Not ConfigurationFlip the LogicWhat We've LearnedAnswersEquality Chapter AnswersOrder Chapter AnswersMonoid Chapter Answers
Details
We've got this
At The Nile, if you're looking for it, we've got it.
With fast shipping, low prices, friendly service and well over a million items - you're bound to find what you want, at a price you'll love!
30 DAY RETURN POLICY
No questions asked, 30 day returns!
FREE DELIVERY
No matter where you are in the UK, delivery is free.
SECURE PAYMENT
Peace of mind by paying through PayPal and eBay Buyer Protection