Hi folks,
There is a good reason for me to announce my advanced FP/Haskell engineering book here today. Functional Design and Architecture was recently released at Manning Publications, and today it is in the Deal of the Day promotion program with a 45% discount for both print and e-book:
Print: $̶5̶9̶.̶9̶9̶ $32.99
E-book: $̶4̶7̶.̶9̶9̶ $26.39
A long and dramatic writing story is now finished - 8 years in the making, if we consider its early self-published LeanPub edition and 4 years for Manning’s edition alone.
The book is unique, most wanted, and needed in the functional world. Remember Taylor Fausak’s surveys? Year to year, these three topics were always at the top of what Haskellers wanted to read about:
Which Haskell topics would you like to see more written about?
- Best practices
- Design patterns
- Application architectures
My book explicitly discusses functional idioms, functional design patterns, functional application architectures, and best practices. While some may argue that they have a different set of best practices, where is another comprehensive and systematic source of knowledge on this? My book is unique, especially considering it proposes a practical methodology for building applications: Functional Declarative Design (FDD), a counterpart to Object-Oriented Design. The book is insightful, deep, and pragmatic; it brings bright FP ideas into action and rethinks various mainstream approaches in the functional setting. A much-needed gap between the two worlds.
I hope the book will become another software engineering classic. At least some readers say it has all the chances for this. I believe the book deserves to stay near other great books from great authors: Domain Modeling Made Functional by Scott Wlaschin and Functional and Reactive Domain Modeling by Debasish Ghosh. These two, and Vitaly Bragilevsky, the author of excellent Haskell in Depth, kindly endorse my book, which is an honor.
This is a unique book that fills a previously empty slot in the field of software development within the functional programming approach. As the author of “Haskell in Depth,” which focuses primarily on the Haskell language itself, I enjoyed reading about developing Haskell applications from an orthogonal perspective: the perspective of software design and architecture.
Vitaly Bragilevsky, JetBrains, author of Haskell in Depth (Manning)
The real value of the book is that it discusses the goodness of advanced functional programming patterns in the context of real world business applications. There are books which discuss concepts like free monads and applicative with toy examples. But Functional Design and Architecture explains the free monad pattern in the context of designing business centric EDSLs and how it can lead to a clean separation of the declarations and implementations in designing domain models.
Debasish Ghosh, Conviva, author of Functional and Reactive Domain Modeling and DSL in Action (Manning)
This book covers all aspects of “big picture” software design from a functional programming viewpoint, and powerfully demonstrates that functional programming techniques are not just academic but can be applied to any business domain. It is comprehensive, covering classic domain-driven design, but also how to work with stateful, reactive and concurrent applications.
Scott Wlaschin, author of Domain Modeling Made Functional (Pragmatic Bookshelf)
I’m getting great reviews of the book. People love it!
I’ve finally got the time to read Functional Design and Architecture by Alexander Granin. It’s a great book, full of insights about how to use DDD in Haskell and how to design a great application. I still prefer Kotlin, but if you like Haskell, this is probably the best book!
Uberto Barbini, author of From Objects to Functions
A month later, what was started as a simple excursion into eDSLs, has led me into the storage depths of functional interfaces, applicative functors, combinatorial models, and free monads. No life forms detected. If I don’t recover, blame Alexander Granin for my demise.
Tyrone Dunn
I’ve been following its evolution through its MEAP iterations. An excellent and unique read!
Guido Mureddu
There are other great reviews, and I’m grateful to all folks who helped me to write this book, including to those Patrons and early readers who were with me when I first started writing the early edition in 2016.
I’m currently on the finishing line with my other book, Pragmatic Type-Level Design. I aim to release it by the end of the year. This one is more Haskell-oriented than FDaA, but still, my goal is to fill various gaps in software engineering, especially in functional programming. PTLD describes reasonable, pragmatic approaches to type-level programming in Haskell and similar languages and provides even more software design tools not presented in FDaA. These two books finely complement each other.
PTLD is nearly finished; all eight planned chapters have been written, and all five appendixes have been completed. I’m working on the last part, Rosetta Stone, which sheds light on how to apply the ideas in other languages. There are four more possible chapters to write because type-level programming in Haskell is a broad topic. If I see a significant interest (1000+ purchases on LeanPub), I’ll consider expanding the book beyond that. As for now, it has 330 pages and will gain 70 more. Consider supporting my work because writing advanced and unique books is a super expensive and extremely difficult endeavor.