Учебник по Haskell | страница 13



Поиск маршрутов в метро . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

19.2 Тестирование с помощью QuickCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

Формирование тестовой выборки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

Классификация тестовых случаев . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

19.3 Оценка быстродействия с помощью criterion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

Основные типы criterion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

19.4 Краткое содержание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

19.5 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

20 Императивное программирование

282

20.1 Основные библиотеки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

Изменяемые значения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

Chipmunk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

20.2 Боремся с IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

20.3 Определяемся с типами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

20.4 Структура проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

20.5 Детализируем функции обновления состояния игры . . . . . . . . . . . . . . . . . . . . . . . . 297

20.6 Детализируем дальше . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

20.7 Краткое содержание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

20.8 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

21 Музыкальный пример

299

21.1 Музыкальная нотация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

Нотная запись в европейской традиции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

Протокол midi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300