Functional Design and Architecture: Examples in Haskell

· Simon and Schuster
5.0
1 review
Ebook
456
Pages
Eligible
Ratings and reviews aren’t verified  Learn More

About this ebook

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

Ratings and reviews

5.0
1 review
Jennifer Graziano
May 24, 2025
Origin of the alphabet; number line, computer is the same place. There isn't a calendar without a programmer; different ones in society are for companies to supply basic utilities; motor vehicles, food clothes & shelter. Computer programs give the answers to outstanding questions; humans do not. They also drive all artificial moving objects; humans do not. One program designs all the building and a different one does cars; the program includes after they are built schedules for them and us. Cameras are a derivative of computer separate from video recorder for unreal pictures and photograph obstructing justice to disappear or vanish includes video tapes & DVD's.
Did you find this helpful?

About the author

Alexander Granin is a software architect, international speaker, author, and researcher. He is a known authority in the C++ and Haskell communities.

Rate this ebook

Tell us what you think.

Reading information

Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Center instructions to transfer the files to supported eReaders.