Параллельное и конкурентное программирование на языке Haskell
Если вы уже владеете программированием на языке Haskell, эта книга научит вас использованию множества интерфейсов и библиотек, предназначенных для написания параллельных и конкурентных программ. Вы узнаете, как распараллеливание на многоядерные процессоры позволяет ускорять вычислительно нагруженные программы и как конкурентность облегчает написание программ с активно взаимодействующими между собой и с другими программами потоками. Автор Саймон Марлоу проведёт вас по этому пути, сопровождая его большим количеством примеров, с которыми можно самостоятельно экспериментировать, запуская, изменяя и расширяя. Книга делится на две части, посвященные таким инструментам, как Parallel Haskell и Concurrent Haskell, включённые в неё упражнения позволят вам научиться: - выражать параллелизм в языке Haskell средствами монады Eval и стратегий вычислений; - распараллеливать обычный код на языке Haskell в монаде Par; - организовывать параллельные вычисления с массивами на основе библиотеки Repa; - использовать библиотеку Accelerate для запуска вычислений на графических процессорах; - работать с базовыми интерфейсами для написания конкурентного кода; - реализовывать высокопроизводительные конкурентные сетевые серверы; - писать распределённые программы, запускающиеся на множестве машин сети. Функциональное программирование