«Проектирование на уровне типов» — это новаторское исследование программирования на уровне типов. В отличие от других книг, заигрывающих с типовой системой и математикой, эта книга делает акцент на практическом применении: лучших практиках, сценариях использования, шаблонах проектирования, принципах и архитектурах приложений, универсальных для различных статически типизированных языков — таких как Scala, Rust, Haskell, C++, OCaml и F#. Основной язык книги — Haskell, однако есть раздел «Розеттский камень», где те же идеи изложены на Scala 3 и Rust.
Купить Проектирование на уровне типов (ДМК-Пресс, 2025)
Английская версия: Pragmatic Type-Level Design (LeanPub, 2024)

Книга доступна обычным разработчикам вроде меня. Она увлекательная, систематичная, полна забавных примеров и хорошо написана. Без академизма — вы не найдёте здесь ничего, связанного с категорной теорией, теорией типов или абстрактной алгеброй. Математики в книге нет вовсе. Она доказывает, что сложные математические концепции не нужны, чтобы извлечь пользу из программирования на уровне типов.
Благодаря своему фокусу на практических результатах и реальных бизнес-задачах, Проектирование на уровне типов — обязательное чтение для архитекторов ПО, функциональных программистов и инженеров, которые хотят поднять проектирование на уровень выше обычных значений. Эта книга объясняет как и почему использовать программирование на уровне типов, помогая читателям принимать обоснованные и рациональные проектные решения.
Благодарности
Я благодарен всем, кто поддерживал книгу, когда она писалась в виде Pragmatic Type Level Design. Особенная благодарность патронам на Patreon:
- Patryk Zieliński
- rohit
- Anatolii Prylutskyi
- Gabriele Lana
- Christopher Miller
- Cezar Halmagean
- Matt Braun
- John Man
- Dmitry Podoprosvetov
- Vadim Sotnikov
- Vladimir Krivopalov
- Francesco Zanini
- James Bartholomew
- Alex Vakhitov
- Jacob Baumbach
- Omar Mefire
- Veronika Romashkina
- Simon Shine
- Ignacio Ballesteros
- Andor Penzes
- Michele Riva
- Juan Ortega
- Andrew Broman
- Angel Vanegas
- Kayvan Kazeminejad
- Pavel Kucera
- Jonathan Thaler
- Forest Walk
- Dmitriy Zakomirnyi
- James
- Grzegorz Milka
- Ilia Rodionov
- Mat
- Max Moiseev
- Alexey Lebedeff
- Jorge Vasquez