Форум программистов, компьютерный форум, киберфорум
Наши страницы
Haskell
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.90/71: Рейтинг темы: голосов - 71, средняя оценка - 4.90
Republic
14 / 14 / 0
Регистрация: 26.02.2014
Сообщений: 21
1

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

17.03.2014, 17:34. Просмотров 13888. Ответов 49

Первое издание этой книги было опубликовано 5 марта 2014 года, о чём Денис Шевченко — её автор сообщил на Хабрахабре. На момент написания этого сообщения доступно уже третье издание.
Как пишет автор:
Функциональное программирование — это своеобразное гетто посреди мирового мегаполиса программной разработки. Доля функциональных языков на рынке очень мала, а программистов, использующих эти языки, считают либо недосягаемой элитой, либо асоциальными идиотами. Цель этой книги — разрушить такое представление.
Сайт книги.
Авторство принадлежит Денису Шевченко.
10
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2014, 17:34
Ответы с готовыми решениями:

Место ФП и Haskell в компьютерной индустрии (Для чего он нужен, этот Haskell?)
"У нас" ? А где преподавание этой экзотики на высоте? Добавлено через 2 минуты А где такие...

HASKELL
Добрый вечер, прошу помощи у знающих Haskell, не понимаю его, не для меня видимо, но сдать...

вывести результат функции по человечески
функция возвращает c помощью return массив, а мне нужно вывести его первый елемент приходится...

Не получается по-человечески осветить модель
Добрый день! Я использую OpenGLControl.cs для C#. Модель принимаю из файла STL (с этим...

хочу чтобы одмены относились к людям по-человечески
хочу чтобы одмены относились к людям по-человечески

49
dshevchenko
79 / 39 / 0
Регистрация: 18.03.2014
Сообщений: 26
27.04.2014, 23:50 21
А разве тот же LHFGG не бесплатно доступен как на русском так и на английском языках при том что издается в бумажном варианте?
Насколько я знаю, она доступна бесплатно на английском, но не на русском. Разве текст русского издания (http://dmkpress.com/catalog/computer...5-97060-038-5/) тоже где-то лежит в легальном бесплатном доступе?
0
redname
21 / 17 / 1
Регистрация: 18.03.2012
Сообщений: 111
Записей в блоге: 1
28.04.2014, 00:02 22
Ну на том же хабре по частям лежит, плюс на народе где то видел сделанный под оригинал сайт с частичным переводом.
0
dshevchenko
79 / 39 / 0
Регистрация: 18.03.2014
Сообщений: 26
28.04.2014, 00:06 23
Едва ли это легально. В том смысле слова, что издательство вполне может предъявить претензию.

Я скажу так: если бы мне удалось найти такое издательство, которое, заинтересовавшись моей книгой, разрешило бы мне оставить в свободном доступе электронный вариант - я бы согласился на издание не задумываясь.
0
redname
21 / 17 / 1
Регистрация: 18.03.2012
Сообщений: 111
Записей в блоге: 1
28.04.2014, 00:20 24
Ну раз электронная версия попала в интернет, то считайте она уже навечно в свободном доступе
0
28.04.2014, 00:20
dshevchenko
79 / 39 / 0
Регистрация: 18.03.2014
Сообщений: 26
28.04.2014, 00:26 25
Так и есть! Она уже не только на Twirpx лежит, но и на Рутрекер недавно попала...
0
dshevchenko
79 / 39 / 0
Регистрация: 18.03.2014
Сообщений: 26
20.05.2014, 16:53 26
Приветствую!

С радостью сообщаю, что положено начало рассмотрению монадных трансформеров. Традиционно этот механизм считается сложным для освоения новичками, и, признаюсь, я тоже не сразу въехал. Но теперь рассмотрены трансформеры MaybeT и ReaderT. И если MaybeT элегантен, то в ReaderT я просто влюбился.

Всем заинтересовавшимся - просьба сюда.

На очереди WriterT и StateT.

Добавлено через 23 часа 53 минуты
И сразу, по горячим следам, добавлена глава про не менее полезный трансформер WriterT.
1
dshevchenko
79 / 39 / 0
Регистрация: 18.03.2014
Сообщений: 26
21.05.2014, 18:31 27
Ну и для полноты картины, глава про ещё более мощный трансформер StateT.
1
castorsky
1974 / 1077 / 87
Регистрация: 29.11.2013
Сообщений: 3,354
22.05.2014, 16:02 28
dshevchenko, Прочитал вчера. Премного Вам благодарен. Замечания: не оператор, а функция. В языке Haskell всё есть функция и нет операторов. Это Ваши старые императивные привычки. Не "функция композиции", а "композиция функций", это же введение в анализ, нужно знать матчасть. С другой стороны если рассуждать формально то Вы правильно применяете термины "функция композиции" и "функция аппликации", ибо это функции таковыми и являются и задача их состоит в том чтобы композировать или апплицировать функции аргументы. \n
Где-то Вы писали самокритичное рассуждение о том, как Вам гипотетически ответят в издательстве как автору без регалий и званий. Да, Вы все таки не дотягиваете и есть еще куда расти. Вам как интересующемуся наверняка будут интересны и полезны следующие издания Purely Functional Data Structures, ну а эта книга вообще безценна Concepts, Techniques, and Models of Computer Programming
В частности Вы бы не были так удивлены тем, что в функциональных языках нет привычного императивщикам присваивания (и то это не всегда так, тот же racket прекрасно уживается с функцией set!). Строго говоря, Haskell не имеет присваивания в той форме, к которой мы привыкли из си, паскаля и т.д. Имеет, но эта функция не доступна программисту, этим занимается компилятор. Да и (я даже как-то в виде загадки постил этот момент) каждая "переменная" в функциональном языке есть stateless (бесправный чужак, гость или что-то в этом роде). Сам термин "переменная" (variable) мы можем понимать в двух аспектах:
1. хранилище
2. связанное имя.
Так вот имя связывается с хранилищем лишь однажды и называется этот подход single-assignment store. Все это и многое другое описано во втором приведенном источнике.
P.S. Большая благодарность за труд. Успехов Вам на Вашем новом поприще!
2
dshevchenko
79 / 39 / 0
Регистрация: 18.03.2014
Сообщений: 26
23.05.2014, 14:09 29
Цитата Сообщение от castorsky Посмотреть сообщение
dshevchenko, Прочитал вчера. Премного Вам благодарен.
И я вам благодарен за ваши замечания.

Цитата Сообщение от castorsky Посмотреть сообщение
Замечания: не оператор, а функция. В языке Haskell всё есть функция и нет операторов. Это Ваши старые императивные привычки.
С одной стороны, вы совершенно правы. Но с другой, я неоднократно встречал, как в англоязычной литературе по Haskell функцию, предназначенную для инфиксной записи, называют словом operator. Разумеется, `(++)` это функция конкатенации двух списков, но её часто называют оператором. Впрочем, я не считаю это столь уж принципиальным вопросом. Скорее, это лишь игра слов... :-)

Цитата Сообщение от castorsky Посмотреть сообщение
Где-то Вы писали самокритичное рассуждение о том, как Вам гипотетически ответят в издательстве как автору без регалий и званий. Да, Вы все таки не дотягиваете и есть еще куда расти.
О да, тут вы совершенно правы. Я недавно встретил одну презентацию по Haskell "для реального мира", посмотрел рекомендованные для изучения разделы языка - и понял, что мне ещё ой как много всего нужно изучить.

Цитата Сообщение от castorsky Посмотреть сообщение
P.S. Большая благодарность за труд. Успехов Вам на Вашем новом поприще!
Спасибо!

Добавлено через 21 час 52 минуты
И ещё одна глава добавлена, о трансформерах ErrorT и EitherT. Красавцы!
2
dshevchenko
79 / 39 / 0
Регистрация: 18.03.2014
Сообщений: 26
27.05.2014, 11:18 30
Рад сообщить, что теперь книга стала ещё ближе к обучающимся. В конце каждой главы, содержащей примеры кода, вас ждут две новые кнопки:

1. Первая ведёт прямо на GitHub к соответствующему тестовому файлу.
2. Вторая ведёт на FPComplete, где вы сможете незамедлительно скомпилировать код из главы и запустить его на выполнение. Очень удобная возможность поиграться с кодом вживую, даже без установленной у себя Haskell Platform.
4
dshevchenko
79 / 39 / 0
Регистрация: 18.03.2014
Сообщений: 26
18.09.2014, 22:15 31
После долгого перерыва работа над книгой наконец-то возобновилась. Помимо прочего, я отказался от GitBook в пользу Hakyll для генерации веб-версии. Кроме того, теперь книгу можно обсуждать на месте: в конце каждой из глав вы найдёте нашу любимую Disqus. Прошу ознакомиться: http://ohaskell.dshevchenko.biz/ru/index.html

Многие главые нуждаются в серьёзной доработке, это я уже осознал. Кое-что нужно добавить, кое-что расширить, кое-что уточнить.
4
_Ivana
4062 / 1896 / 237
Регистрация: 01.03.2013
Сообщений: 5,147
Записей в блоге: 22
21.09.2014, 19:58 32
В этом разделе нет отдельной темы про литературу по Haskell. Но более-менее по-человечески и по-русски написана имхо не только сабжевая книга, а еще:
- учебник Антона Холомьёва
- учебник Григория Макеева
- море разливанное литературы от Романа Душкина (в т.ч. ФП на языке Haskell) - зачастую глубже рассматриваются теоретические вопросы
- учебник Мирана Липовачи "Во имя добра"

ЗЫ и все это можно без труда найти в свободном доступе в сети.
2
_Ivana
4062 / 1896 / 237
Регистрация: 01.03.2013
Сообщений: 5,147
Записей в блоге: 22
23.09.2014, 22:41 33
И уже не сильно по-человечески: одни действительно умные коллеги с научного форума подкинули следующую ссылку -
Код
http://cs.anu.edu.au/~Ben.Lippmeier/project/thesis/thesis-lippmeier-sub.pdf
, сопроводив ее некоторым текстом:
Об отсутствии явного состояния (state) и переменных в функциональных языках программирования — Ben Lippmeier, "Type Inference and Optimisation for an Impure World". PhD-диссертация, посвящена явному включению деструктивного обновления в ФЯП. Содержит обсуждение, почему эта возможность важна и нужна, обзор использующихся ныне подходов для работы с состоянием.
2
dshevchenko
79 / 39 / 0
Регистрация: 18.03.2014
Сообщений: 26
15.01.2015, 17:47 34
Добрый день! Сообщаю участникам форума, что у нас родилось русскоязычное сообщество Haskell-разработчиков. Цель - собрать воедино всех Хаскелистов рунета в единое блоговое пространства, для обмена премудростями.

Официальный сайт: http://ruhaskell.org/
5
Curry
2952 / 2021 / 252
Регистрация: 01.06.2013
Сообщений: 4,409
Записей в блоге: 8
01.04.2016, 08:21 35
Автор выложил О Haskell по-человечески 2.0 (betta). Книга в процессе написания. Надеюсь автор, dshevchenko, не против ссылки. А то он сюда, что то забыл написать.
3
dshevchenko
79 / 39 / 0
Регистрация: 18.03.2014
Сообщений: 26
04.04.2016, 14:48 36
Конечно я не против! Комментарии, пожелания и критика приветствуются! Напоминаю, что репозиторий ждёт ваших форков:

https://github.com/denisshevchenko/ohaskell.guide
3
Alexsmik
3 / 0 / 0
Регистрация: 18.11.2015
Сообщений: 8
05.04.2016, 10:24 37
Слышал что JavaScript это Haskell + Category theory
0
dshevchenko
79 / 39 / 0
Регистрация: 18.03.2014
Сообщений: 26
05.04.2016, 10:36 38
Да? Мне не приходилось такое слышать. Что касается Haskell, то теория категорий вообще необязательна для программирования на нём.
0
Curry
2952 / 2021 / 252
Регистрация: 01.06.2013
Сообщений: 4,409
Записей в блоге: 8
05.04.2016, 13:54 39
.......
0
Alexsmik
3 / 0 / 0
Регистрация: 18.11.2015
Сообщений: 8
05.04.2016, 20:24 40
слышал от Douglas Crockford в обсуждении JS Monads https://www.youtube.com/watch?v=dkZFtimgAcM на 10:35 минуте. Наверно я не правильно понял, что он имеет в виду.
0
05.04.2016, 20:24
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2016, 20:24

Как сделать, чтобы форма по-человечески появлялась на экране)) ?
Проблема в том, что на главной форме у меня несколько тяжелых компонентов, которые при...

КАК по человечески организовать поддерживаемую связь апплет-сервлет-база
Всем привет! Нужно написать апплет, который соединяется с базой ОДИН РАЗ и через сервлет...

Человечески ftp mirror из командной строки есть?, Не нашел чем зеркалить.
здравствуй многоуважаемый Олл. Озадачился уёб дизайном, и тут-же огреб проблему. Знаю 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru