Design patterns and architectures for building production quality applications using functional programming, with examples in Haskell and other FP languages. In
Functional Design and Architecture you will learn:
- Designing production applications in statically typed functional languages such as Haskell
- Controlling code complexity with functional interfaces
- Architectures, subsystems, and services for functional languages
- Developing concurrent frameworks and multithreaded applications
- Domain-driven design using free monads and other functional tools
- Property-based, integrational, functional, unit, and automatic whitebox testing
Functional Design and Architecture is a pioneering guide to software engineering using Haskell and other functional languages. In it, you'll discover Functional Declarative Design and other design principles perfect for working in Haskell, PureScript, F#, and Scala. about the technology Functional programming offers a powerful alternative to object-oriented programming that helps tackle the complexities of large-scale software. Entrenched design patterns and architectural principles made for OOP are poorly suited for creating large-scale functional applications. This book lays out new methodologies, principles, and architectures optimized for high-level software design using functional languages. about the book
Functional Design and Architecture is a comprehensive guide to software engineering using functional programming. Inside, you'll find cutting-edge functional design principles and practices for every stage of application development, from architecting your application through to running simple and maintainable tests. There's no abstract theory--you'll learn by building exciting sample applications, including an application for controlling a spaceship and a full-fledged backend framework.
RETAIL SELLING POINTS - Designing production applications in statically typed functional languages such as Haskell
- Controlling code complexity with functional interfaces- Architectures, subsystems, and services for functional languages
- Developing concurrent frameworks and multithreaded applications
- Domain-driven design using free monads and other functional tools
- Property-based, integrational, functional, unit, and automatic whitebox testing
AUDIENCE For experienced developers who know a functional language.