Skip to content

Ваша первая книга о языке Haskell - версия 2023 года

License

Notifications You must be signed in to change notification settings

WkontFlic/ohaskell.guide

 
 

Repository files navigation

CircleCI   Code Climate   Gitter

О Haskell по-человечески версия 2.1. от 2023 года

Ваша первая книга об удивительном и прекрасном языке программирования Haskell.

readOnline     getPDF     getPDFMobile     getPDFPrintable     getEPUB

Книга создана с помощью практичного Markdown, блистательного Materialize, впечатляющего Hakyll, элегантного Clay, гибкого BlazeHtml и мощного pandoc. И разумеется, всё это связано воедино силою Haskell. Книга написана при поддержке русскоязычного сообщества Haskell-разработчиков.

Распространение

Книга свободно распространяется на условиях лицензии CC BY-NC 4.0. Исходный программный код ещё более свободно распространяется на условиях лицензии MIT.

Упражнения

После прочтения книги (или, если желаете, в процессе оного) вас ждут практические задания. Пока их очень мало, но в будущем их будет множество, уверяю вас. На Stepic.org есть 2 бесплатных курса по Хаскелю

Новости

За новостями об обновлениях и исправлениях книги следите в нашем чате, а также в выпусках подкаста Бананы и Линзы, единственного русскоязычного подкаста, всецело посвящённого Haskell. Ну и Твиттер мой можете посматривать.

Обновлние: К 2023 году данная книга немного устарела. Появились олнайн компиляторы и IDE (я использую replit.com - возможно есть лучше), что немного понижает порого входа. Также у Хаскеля появилась почти нормальная потдержка русского языка в именах переменных и функций, что ещё немного упрощает понимание кода. Я (WkontFlic) решил её немного обновить. Я сделал её форк (который Вы читаете в настоящий момент) который использую как конспект. В нём я более подробно распишу неочевидные для понимания места, добавлю готовых для выполнения примеров. Поскольку я не являюсь специалистом по Хаскелю, тем более таким как Денис Шевченко (разработчик оригинальной книги "О Хаскель по человечески") я не рискну вносить какие либо боле менее существенные правки в его оригинальный текст, кроме небольших стилистических правок направленных на упрощение понимания.

Для тех кто никогда не программировал на функциональных языках программирования рекомендую ознакомится с функциональным скриптовым языком программирования Перфо для которого написан очень простой учебник "Учебник языка Перфо для школьников" (https://тхаб.рф/wiki/Учебник_языка_Перфо_для_школьников). Для того чтобы опробывать Перфо на практике достаточно поставить среду разработки языка Перфолента.NET (https://disk.yandex.com/d/G_VEGFAFi-mMKg) и созать файл *.перфо. Время на проработку материал примерно 4 часа. Официальный ТГ канал Языков Перфо и Перфолента https://t.me/perfolenta.

Приёмы использованные мной для упрощения понимания/обучения

  • Для эффективного обучения 80% материала д.б. уже известно обучаемому - следовательно необходимо убрать всё второстепенное, как минимум надо по возможности перевести все примеры и комментарии на русский язык насколько это возможно, для того чтобы обучаемый постоянно не "переключал контекст" в голове при разборке примеров.
  • Как можно больше комментариев в коде.
  • После кода разбор "Как это работает".
  • После каждого примера, необходимо размещать полный листинг кода совсеми заголовками который сразу можно скопировать и вставить в онлайн IDE для выполнения. Все полученные знания сразуже должны закреплятся практикой.
  • Это не учебник по Хаскелю. Это конспект для освоения/понимания основных приёмов функционального программирования. Конкретный язык не сильно важен. Перфо неплохое решение для быстрого начала.

Локальная сборка (для оригинальной книги 2016 года)

Для локальной сборки вам понадобятся stack, pandoc и TeX-дистрибутив (я использую MacTeX). Делаем:

$ git clone [email protected]:denisshevchenko/ohaskell.guide.git
$ cd ohaskell.guide
$ stack build
$ stack exec -- ohaskell

По умолчанию, при запуске ohaskell без аргументов, собираются все варианты книги:

  1. HTML: _site/index.html.
  2. PDF для больших экранов: pdf/ohaskell.pdf.
  3. PDF для экранов мобильных устройств: pdf/ohaskell-mobile.pdf.
  4. PDF для чёрно-белой печати A4: pdf/ohaskell-printable.pdf.
  5. EPUB: epub/ohaskell.epub.

Однако вы можете собрать лишь нужные вам варианты.

HTML:

$ stack exec -- ohaskell --html

PDF, оба варианта для экранов:

$ stack exec -- ohaskell --pdf

PDF, вариант для печати:

$ stack exec -- ohaskell --pdf-printable

EPUB:

$ stack exec -- ohaskell --epub

Проверено на OS X Yosemite, stack 1.0.2, pandoc 1.15.2.1 и LTS Haskell 5.5.

Поддержать проект

Вы можете оказать проекту финансовую помощь на странице поддержки.

About

Ваша первая книга о языке Haskell - версия 2023 года

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 84.1%
  • TeX 14.8%
  • JavaScript 1.1%