Parallel and Concurrent Programming in Haskell
Книга посвящена параллельному и конкурентному программированию на языке Haskell. Автор, Саймон Марлоу, является ведущим разработчиком компилятора GHC и экспертом в области параллельных вычислений.
Первая часть книги охватывает параллельное программирование: монаду Eval, стратегии вычислений, монаду Par для dataflow-параллелизма, библиотеки Repa для массивов и Accelerate для GPU. Рассматриваются такие темы, как ленивые вычисления, гранулярность, визуализация spark-активности и спекулятивный параллелизм.
Вторая часть посвящена конкурентному программированию: потоки, MVars, асинхронные исключения, отмена операций, тайм-ауты и перекрывающийся ввод-вывод. Приводятся практические примеры, включая реализацию сервиса логирования, каналов и обработку ошибок.
Книга содержит множество примеров кода и упражнений, что делает её полезной как для начинающих, так и для опытных разработчиков Haskell, желающих освоить параллельные и конкурентные вычисления.
