Главная » 2015»Май»15 » Изучаем Haskelll. Библиотека программиста
02:34
Изучаем Haskelll. Библиотека программиста
Изучаем Haskelll. Библиотека программиста — Эта книга поможет вам быстро освоить базовые концепции языка программирования Haskell, его библиотеки и компоненты, а также заложит основы функциональной парадигмы программирования, которая становится все более значимой в современном мире разработки ПО. Книга предлагает проектный подход к освоению материала, используя в качестве прототипа проект реализации интернет-магазина. Здесь рассматривается экосистема языка Haskell и его вспомогательных средств, инструменты Cabal для управление проектами, модули HUnit и QuickCheck для тестирования программ, фреймворк Scotty для разработки веб-приложений, Persistent и Esqueleto - для управления базами данных и многие другие компоненты и библиотеки Haskell.
Название: Изучаем Haskelll. Библиотека программиста Автор: Александро Серано Мена Издательство: Питер Год: 2015 Страниц: 464 Формат: PDF Размер: 7,45 МБ ISBN: 978-5-496-01188-4 Качество: Отличное Серия или Выпуск: Библиотека программиста Язык: Русский
Содержание:
Об авторе О научном редакторе Благодарности Введение Зачем изучать функциональное программирование Почему вам нужна эта книга Часть I. Первые шаги Глава 1. Настоящий функциональный язык Почему именно Haskell? История Haskell Ваша рабочая среда Первые шаги в использовании GHCi Магазин, продающий машины времени Выводы Глава 2. Объявление модели данных Работа с символами, числами и списками Создание нового проекта Определение простых функций Работа с типами данных Сопоставление с образцом Записи Выводы Глава 3. Многократное использование кода с помощью списков Параметрический полиморфизм Функции в качестве аргументов Подробнее о модулях Углубленное изучение списков Формирователи списков Haskell-оригами Выводы Глава 4. Контейнеры и классы типов Использование пакетов Контейнеры: проекции, множества, деревья и графы Специальный полиморфизм: классы типов Двоичные деревья для минимальной цены Классы типов, связанные с контейнерами Выводы Глава 5. Лень и бесконечные структуры Бесконечное количество машин времени Модель ленивых вычислений Профилирование с помощью GHC Строгие аннотации Выводы Часть II. Анализ данных Глава 6. Ознакомление с клиентами с помощью монад Анализ данных Исследование монад Различные виды состояний Выводы Глава 7. Другие рекомендуемые монады Возвращение более одного значения Неудачи и альтернативы Вывод ассоциативных правил Задачи поиска Монада Logic Возрождение монад и списков Выводы Глава 8. Использование нескольких ядер Параллелизм, одновременность, распределенность Монада Par Программная транзакционная память Облачные решения для Haskell Выводы Часть III. Использование ресурсов Глава 9. Работа с файлами: ввод-вывод и библиотека conduit Базовые ввод и вывод Случайность Работа с файлами Обработка ошибок Потоковый ввод-вывод данных с помощью библиотеки conduit За пределами текстовых файлов Выводы Глава 10. Создание и синтаксический разбор текста Пять текстовых типов данных Создание текста со скоростью ветра Синтаксический разбор с использованием пакета attoparsec Представление новых классов типов Не нужно излишеств: используйте формат JSON Выводы Глава 11. Безопасный доступ к базам данных Средства доступа к базам данных Соединение Схемы и переносы Запросы Вставка, обновление и удаление Выводы Глава 12. Веб-приложения Веб-экосистема Haskell Структура RESTful Разработка внутреннего интерфейса в среде Scotty Разработка внешнего интерфейса с помощью компилятора Fay Выводы Часть IV. Предметно-ориентированные языки Глава 13. Строгие типы для описания предложений Предметно-ориентированные языки Безопасность языка выражений Зависимая типизация Программирование на уровне типов в Haskell Функциональные зависимости Семейства типов Продвижение типа и одноэлементные типы Выводы Глава 14. Интерпретация предложений с помощью атрибутов Варианты интерпретации и атрибутивные грамматики Наша первая атрибутивная грамматика Интеграция UUAGC-кода в пакет Интерпретация выражений Варианты интерпретации предложений Оригами-программирование для любого типа данных Выводы Часть V. Инжиниринг магазина Глава 15. Документирование, тестирование и проверка Документирование двоичных деревьев с помощью утилиты Haddock Блочное тестирование с помощью утилиты HUnit Рандомизированное тестирование с помощью библиотеки QuickCheck Формальная верификация с использованием языка Idris Выводы Глава 16. Создание архитектуры приложения Паттерны проектирования и функциональное программирование Рекомендации среднего порядка Утилиты Проекты Выводы Приложение А. Дальнейшие перспективы Haskell-ресурсы Приложение Б. Путешествие во времени с Haskell