Functional Design and Architecture
eBook - ePub

Functional Design and Architecture

Examples in Haskell

  1. 456 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Functional Design and Architecture

Examples in Haskell

About this book

Design patterns and architectures for building production quality applications using functional programming. 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. 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 lays out a comprehensive and complete approach to software design that utilizes the powerful and fascinating ideas of functional programming. Its examples are in Haskell, but its universal principles can be put into practice with any functional programming language. 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. About the technology Functional programming affects every aspect of software development, from how you write individual lines of code to the way you organize your applications and data. In fact, many standard OO patterns are unsuitable or unnecessary for FP applications. This book will reorient your thinking to align software design with a functional programming style. The examples are in Haskell, but the ideas are universal. About the book Functional Design and Architecture teaches you how to design software following the unique principles of functional programming. You'll explore FP-first paradigms like Functional Declarative Design by building interesting applications, including a fun spaceship control simulator and a full-fledged backend framework. This is an opinionated book and you may disagree on some points. But we guarantee it will make you think in a fresh way about how you design software. What's inside • Control code complexity with functional interfaces
• Architectures, subsystems, and services for functional languages
• Domain-driven design using free monads
• Property-based and automatic whitebox testing
• Recalibrate OO designs for functional environments About the reader For experienced developers who know a functional language. About the author Alexander Granin is a senior software engineer and architect with more than 15 years of experience. He is an international speaker, researcher, and book author. The technical editor on this book was Arnaud Bailly. Table of Contents Part 1
1 What is software design?
2 The basics of functional declarative design
Part 2
3 Drafting the MVP application
4 End-to-end design
Part 3
5 Embedded domain-specific languages
6 Domain modeling with free monads
Part 4
7 Stateful applications
8 Reactive applications
Part 5
9 Concurrent application framework
10 Foundational subsystems
11 Persistence: Key–value databases
12 Persistence: Relational databases
13 Error handling and dependency inversion
14 Business logic design
15 Testing
A Plenty of monads
B Stacking monads with monad transformers
C Word statistics example with monad transformers
D Automatic white-box testing

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Functional Design and Architecture by Alexander Granin in PDF and/or ePUB format, as well as other popular books in Informatica & Sviluppo software. We have over one million books available in our catalogue for you to explore.

Information

Publisher
Manning
Year
2024
eBook ISBN
9781638355786
Edition
0

Table of contents

  1. Functional Design and Architecture
  2. Copyright
  3. dedication
  4. contents
  5. front matter
  6. Part 1. Introduction to functional declarative design
  7. 1 What is software design?
  8. 2 The basics of functional declarative design
  9. Part 2. Minimum viable product
  10. 3 Drafting the MVP application
  11. 4 End-to-end design
  12. Part 3. Domain-driven design
  13. 5 Embedded domain-specific languages
  14. 6 Domain modeling with free monads
  15. Part 4. Stateful and reactive applications
  16. 7 Stateful applications
  17. 8 Reactive applications
  18. Part 5. Designing real-world software
  19. 9 Concurrent application framework
  20. 10 Foundational subsystems
  21. 11 Persistence: Key–value databases
  22. 12 Persistence: Relational databases
  23. 13 Error handling and dependency inversion
  24. 14 Business logic design
  25. 15 Testing
  26. Appendix A. Plenty of monads
  27. Appendix B. Stacking monads with monad transformers
  28. Appendix C. Word statistics example with monad transformers
  29. Appendix D. Automatic white-box testing
  30. index