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.
                 
                  table of contents   detailed TOC      PART 1: INTRODUCTION TO FUNCTIONAL DECLARATIVE DESIGN    READ IN LIVEBOOK  1WHAT IS SOFTWARE DESIGN?      READ IN LIVEBOOK  2THE BASICS OF FUNCTIONAL DECLARATIVE DESIGN    PART 2: MINIMUM VIABLE PRODUCT    READ IN LIVEBOOK  3DRAFTING THE MVP APPLICATION      READ IN LIVEBOOK  4END-TO-END DESIGN    PART 3: DOMAIN-DRIVEN DESIGN    READ IN LIVEBOOK  5EMBEDDED DOMAIN-SPECIFIC LANGUAGES      READ IN LIVEBOOK  6DOMAIN MODELING WITH FREE MONADS    PART 4: STATEFUL AND REACTIVE APPLICATIONS    7 APPLICATION STATE      8 REACTIVE APPLICATIONS (TODO: THE SIMULATOR)    PART 5: DESIGNING REAL-WORLD SOFTWARE    9 MULTITHREADING AND CONCURRENCY      10 PERSISTENCE      11 BUSINESS LOGIC DESIGN      12 TESTING    APPENDIXES    APPENDIX A: PLENTY OF MONADS      APPENDIX B: LAYERING SUBSYSTEMS WITH A MONADIC STACK      APPENDIX C: WORD STATISTICS EXAMPLE WITH MONAD TRANSFORMERS      APPENDIX D: APPLICATION ARCHITECTURES IN HASKELL AND SCALA      APPENDIX E: THE MVAR REQUEST-RESPONSE PATTERN      APPENDIX F: FREE MONADIC EDSL FOR AN INTERACTIVE FICTION GAME      APPENDIX G: HASKELL AND PURESCRIPT
                 
                  Height:
Width:
Spine:
Weight:0.00