V.0.9.1
Alexander Granin

#Pragmatic
#Software_Design
#PTLD
#PTLD
Pragmatic Type-Level Design: Practical introduction into type-level programming: design principles, design patterns, methodologies, approaches.
An approachable, well-written, practice-oriented, academism-free guide into programming with types. How to build useful real-world type-level programs with low complexity and low risks.
Pragmatic Type-Level Design is a book about programming in types, about the discipline of Software Design, lifted onto the level of types, and type-level approaches useful in real practice.
This is my second fundamental book about Software Design, in addition to Functional Design and Architecture.
I aim to provide a well-written and well-structured source of knowledge about type-level design. I’m not only talking about type-level features but also providing a reasoning framework for making the narrative complete and comprehensive. The central philosophy of this book – pragmatism – is used to build a practice-first methodology on how to approach types and not drown in the related complexity. The type-level design is difficult on its own, type-level features in various languages are difficult as well, and there is no need to raise the learning bar even more.
The book will be useful for developers who want to start doing real things on the type level.
If you liked my FDaA book, you’ll find PTLD enlightening and insightful as well.
Book completion estimation: end of 2024
Book topics:
type-level design, type-level eDSLs, correctness, complexity of solutions, Inversion of Control and Dependency Injection, domain modeling, type-level functional interfaces, design of business logic, interaction with impure subsystems, application architectures & design patterns, testing
Table of Contents
Part I The basics of type-level software design
2. Use case: simple extensibility
3. Use case: genericity and customization
4. Use case: enforcing correctness
Part II Architecturing type-level applications
5. Application architecture6. Components design
6. Components design
Part III Advanced type-level design
7. Use case: type-level object-oriented programming
8. Use case: advanced extensibility
Part IV Rosetta Stone
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.









