Книга предлагает подходы и паттерны для нетривиального кода, где все выражено через типы: бизнес-логика, предметно-ориентированные языки, механизмы корректности и расширяемости.
Инженерию от простого программирования отличает целостный взгляд на систему, и вниманию читателей предлагается прагматичная методология создания приложений – от сбора требований до архитектуры и проектирования компонентов. Универсальность изложенных идей показана на примерах для трех языков: Haskell, Scala и Rust.
Основные темы, рассматриваемые в книге:
* шаблоны проектирования уровня типов; * расширяемость и адаптивные архитектуры приложений; * интерфейсы на уровне типов; * предметно-ориентированные языки на уровне типов; * типобезопасность и статическая целостность; * корректность и верификация на уровне типов; * типизированные формы – визуальный язык для проектирования; * методология Pragmatic Type-Level Design (PTLD).