Thank you for purchasing the MEAP for the Second Edition of Functional Design and Architecture! This book is intended for any developer with intermediate skills in Haskell, Elm, PureScript, F#, or Scala, however, to benefit from it the best, you’ll need to be able to understand Haskell code. The first two parts of the book can be approachable to everyone having a shallow understanding of the basic Haskell whereas the third part introduces a couple of advanced ideas, and the fourth part has many Haskell-specific features. The book uses Haskell as a model language - in the same way as many books on Object-Oriented Design use Java, - but it tells about universal high-level concepts which can be transferred from one functional language to another..
Why is this book unique? Because it’s pioneering the theme of software engineering in functional languages. The book is the first and the most profound text attempting to bring a complete picture of how to build real applications using a systematic approach. This book even introduces the methodology: Functional Declarative Design, a functional counterpart to Object-Oriented Design. This means, in my book, I’m really opening a new direction in software design, and I hope it will be useful to you in your journey through the functional world.