Начать новую тему Ответить на тему
Статистика раздачи
Размер: 5.1 МБ | | Скачали: 12
Сидеров: 0  [0 байт/сек]    Личеров: 0  [0 байт/сек]
Пред. тема | След. тема 

Автор
Сообщение

Ответить с цитатой 

О Haskell по-человечески

Год: 2014
Автор: Шевченко Денис Васильевич
Жанр: Программирование
Издательство: электронное издание
Язык: Русский
Формат: PDF, EPUB, MOBI
Качество: Изначально компьютерное (eBook)
Интерактивное оглавление: Нет
Количество страниц: 201
Описание от автора:

Представляю вашему вниманию книгу о прекрасном языке программирования Haskell. Я написал её специально для тех, кто плохо представляет себе, что такое функциональное программирование и с чем его едят, но хочет наконец разобраться.

Почему эта книга появилась

Потому что меня достало. Почти все книги по Haskell начинаются с демонстрации быстрой сортировки, и ещё что-то там про факториал… Эта книга не такая. Я расскажу о Haskell человеческим языком, с минимумом академизма, с действительно понятными примерами и по возможности лаконично.

Зачем

Функциональное программирование — это своеобразное гетто посреди мирового мегаполиса программной разработки. Доля функциональных языков на рынке очень мала, а программистов, использующих эти языки, считают либо недосягаемой элитой, либо асоциальными идиотами. Цель этой книги — разрушить такое представление.

Приступим.
Лирическое вступление
Кто............................................................................................................................................... 11
Почему..................................................................................................................................... 12
Зачем......................................................................................................................................... 13
Для кого................................................................................................................................... 14
Готовимся к работе
Создаём проект..................................................................................................................... 16
Готовим структуру....................................................................................................................... 16
Настраиваем.................................................................................................................................... 17
Конфигурируем............................................................................................................................ 19
Собираем......................................................................................................................................... 20
Запускаем........................................................................................................................................ 20
О модулях, минимум......................................................................................................... 21
Импортируем................................................................................................................................. 21
Упоминаем...................................................................................................................................... 22
Об именах....................................................................................................................................... 23
О Hackage................................................................................................................................ 24
Ищем................................................................................................................................................. 24
Устанавливаем.............................................................................................................................. 24
Добавляем в проект..................................................................................................................... 25
Импортируем модули................................................................................................................ 25
О прелюдии.................................................................................................................................... 26
Несколько слов о Haskell
Чистая функциональность............................................................................................. 28
Три кита типизации.......................................................................................................... 29
Кит первый..................................................................................................................................... 29
Кит второй...................................................................................................................................... 29
Кит третий...................................................................................................................................... 30
Неизменность данных...................................................................................................... 31
Лень........................................................................................................................................... 32
Начнём с C++................................................................................................................................... 32
А вот как в Haskell......................................................................................................................... 33
О функциях
Чистые функции................................................................................................................. 37
Объявляем....................................................................................................................................... 37
Определяем.................................................................................................................................... 38
Вызываем........................................................................................................................................ 39
Выход из функции....................................................................................................................... 39
Охрана............................................................................................................................................... 41
Локальные выражения.............................................................................................................. 42
Без объявления............................................................................................................................. 44
λ-функции............................................................................................................................. 45
Что это такое.................................................................................................................................. 45
Как это выглядит в коде............................................................................................................ 46
Множество аргументов.............................................................................................................. 47
Какая от них польза..................................................................................................................... 47
Функции высшего порядка............................................................................................ 49
Разоблачение функций............................................................................................................. 49
Частичное применение функции.......................................................................................... 51
Зачем это нужно............................................................................................................................ 52
Функциональные цепочки............................................................................................. 58
Пример с URL................................................................................................................................. 58
Функция композиции............................................................................................................... 60
Функция применения............................................................................................................... 60
Вместе............................................................................................................................................... 61
О списках
Списки — одним взглядом.............................................................................................. 63
Простейшие действия................................................................................................................ 63
Неизменность списка................................................................................................................. 64
Действия над элементами........................................................................................................ 65
Диапазоны............................................................................................................................. 66
Суть................................................................................................................................................... 66
Умные диапазоны........................................................................................................................ 66
Без конца.......................................................................................................................................... 67
Кортежи.................................................................................................................................. 69
Что с ними можно делать......................................................................................................... 70
Неудобный способ....................................................................................................................... 70
Удобный способ............................................................................................................................. 71
List comprehension............................................................................................................... 73
Хитрый список.............................................................................................................................. 73
Добавляем предикат................................................................................................................... 74
Больше списков............................................................................................................................. 75
Добавляем условие...................................................................................................................... 76
Добавляем локальное выражение.......................................................................................... 77
Пример.............................................................................................................................................. 77
О пользовательских типах
Типы — одним взглядом.................................................................................................. 80
Собственный тип......................................................................................................................... 80
Класс типов..................................................................................................................................... 81
Экземпляр класса типов............................................................................................................ 82
О конструкторах значений............................................................................................. 83
Иные имена.................................................................................................................................... 83
Множество конструкторов....................................................................................................... 83
О нульарных конструкторах................................................................................................... 84
Контекст типа....................................................................................................................... 87
Любой, да не совсем..................................................................................................................... 87
Множественность........................................................................................................................ 89
Составные типы.................................................................................................................. 90
Поля.................................................................................................................................................. 90
Что с ними можно делать.......................................................................................................... 91
Укороченная запись типов полей.......................................................................................... 92
Конструктор типа......................................................................................................................... 93
Наследуемые типы............................................................................................................ 96
Наследуем....................................................................................................................................... 96
Eq и Ord............................................................................................................................................. 97
Enum.................................................................................................................................................. 98
Bounded............................................................................................................................................ 99
Read и Show................................................................................................................................... 100
Собственные классы типов........................................................................................... 102
Перцы.............................................................................................................................................. 102
Зачем они нужны....................................................................................................................... 103
Константы..................................................................................................................................... 103
Новый тип............................................................................................................................ 105
Один конструктор значения.................................................................................................. 105
Одно поле...................................................................................................................................... 105
Для чего он нужен...................................................................................................................... 106
Ввод и вывод
Функции с побочными эффектами.......................................................................... 108
Чистота vs нечистота................................................................................................................ 108
Действие vs бездействие.......................................................................................................... 109
IO a............................................................................................................................................ 110
Стандартные ввод и вывод...................................................................................................... 110
Объявляем main........................................................................................................................... 111
Совместная работа...................................................................................................................... 111
do: императивный мир................................................................................................... 113
Не только main............................................................................................................................. 114
О функции return........................................................................................................................ 114
Обработка исключений................................................................................................... 117
Проблема с файлом.................................................................................................................... 117
Ловим............................................................................................................................................... 118
Ловим наоборот........................................................................................................................... 119
Пытаемся....................................................................................................................................... 120
В чистом мире.............................................................................................................................. 121
Собственные исключения............................................................................................. 123
Создаём........................................................................................................................................... 123
Бросаем........................................................................................................................................... 124
Деликатесы
Монады: суть....................................................................................................................... 126
Почему их так боятся................................................................................................................ 126
Определение................................................................................................................................. 126
Иллюстрация................................................................................................................................ 127
Монады: на примере IO................................................................................................... 129
Класс типов Monad...................................................................................................................... 129
Компоновка.................................................................................................................................. 130
Затем................................................................................................................................................ 131
return............................................................................................................................................... 132
fail..................................................................................................................................................... 132
Монады: практика............................................................................................................. 133
Разоблачение списков............................................................................................................... 133
Меняем тип................................................................................................................................... 135
Зеркальная компоновка........................................................................................................... 136
Может быть.......................................................................................................................... 137
Что за зверь.................................................................................................................................... 137
Для чего он..................................................................................................................................... 137
Ещё и монада................................................................................................................................ 138
Функторы............................................................................................................................. 140
Разбираемся................................................................................................................................. 140
Зачем это нам............................................................................................................................... 140
Создаём свой................................................................................................................................. 141
Инфиксная форма...................................................................................................................... 142
Аппликативные функторы........................................................................................... 143
Смотрим в код............................................................................................................................. 143
Играемся с функтором............................................................................................................. 144
Превращаем.................................................................................................................................. 145
Как это работает.......................................................................................................................... 146
Не только два................................................................................................................................ 148
pure.................................................................................................................................................. 148
Последовательность действий.............................................................................................. 149
Играемся с монадами............................................................................................................... 150
Родственники............................................................................................................................... 152
Остальное
О модулях............................................................................................................................. 155
Об иерархии.................................................................................................................................. 155
О лице............................................................................................................................................. 156
Ничего, кроме…............................................................................................................................ 157
Всё, кроме…................................................................................................................................... 158
Принадлежность......................................................................................................................... 158
Короткая принадлежность..................................................................................................... 158
Обязательная принадлежность............................................................................................ 159
О модуле Main.............................................................................................................................. 159
Рекурсивные функции.................................................................................................... 161
Сама себя........................................................................................................................................ 161
Основное правило...................................................................................................................... 162
Погружаемся................................................................................................................................ 162
Всплываем..................................................................................................................................... 164
Про апостроф...................................................................................................................... 166
О форматировании.......................................................................................................... 168
Функция........................................................................................................................................ 168
Тип.................................................................................................................................................... 170
Класс типов.................................................................................................................................... 171
Константа....................................................................................................................................... 172
Условие............................................................................................................................................ 173
Локальные выражения............................................................................................................. 174
Вывод............................................................................................................................................... 175
Про hlint................................................................................................................................. 176
Что нам с ней делать.................................................................................................................. 176
Рекурсивно.................................................................................................................................... 178
Предупреждения и ошибки................................................................................................... 178
Интеграция
C из Haskell........................................................................................................................... 180
Hello foreign world!..................................................................................................................... 180
Псевдоним..................................................................................................................................... 182
Идём во внешний мир.............................................................................................................. 183
А если void?.................................................................................................................................... 184
Структура и память................................................................................................................... 185
Работаем с внутренностями................................................................................................... 188
А убираться кто будет?!............................................................................................................ 193
Выводы........................................................................................................................................... 195
Заключение
И что, это всё??..................................................................................................................... 197
Благодарности.................................................................................................................... 198
Приложения
Полезные ссылки.............................................................................................................. 200
Доп. информация: книга выпущена под лицензией Creative Commons. Версия книги 0.4. Сайт книги указан на титульном листе. В раздаче находится архив исходных кодов.
Правила, инструкции, FAQ!!!
Торрент   Скачать торрент Магнет ссылка
Скачать торрент
[ Размер 5.14 КБ / Просмотров 92 ]

Статус
Проверен 
 
Размер  5.1 МБ
Приватный: Нет (DHT включён)
.torrent скачан  12
Как залить торрент? | Как скачать Torrent? | Ошибка в торренте? Качайте магнет  


     Отправить личное сообщение
   
Страница 1 из 1
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему


Сейчас эту тему просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Ресурс не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами и мы незамедлительно удалим её. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несёт ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!