14 / 14 / 0
Регистрация: 26.02.2014
Сообщений: 21
|
|
1 | |
О Haskell по-человечески17.03.2014, 17:34. Показов 25396. Ответов 55
Первое издание этой книги было опубликовано 5 марта 2014 года, о чём Денис Шевченко — её автор сообщил на Хабрахабре. На момент написания этого сообщения доступно уже третье издание.
Как пишет автор: Авторство принадлежит Денису Шевченко.
10
|
17.03.2014, 17:34 | |
Ответы с готовыми решениями:
55
Место ФП и Haskell в компьютерной индустрии (Для чего он нужен, этот Haskell?) вывести результат функции по человечески Не получается по-человечески осветить модель хочу чтобы одмены относились к людям по-человечески |
80 / 40 / 0
Регистрация: 18.03.2014
Сообщений: 26
|
|
27.04.2014, 23:50 | 21 |
0
|
80 / 40 / 0
Регистрация: 18.03.2014
Сообщений: 26
|
|
28.04.2014, 00:06 | 23 |
Едва ли это легально. В том смысле слова, что издательство вполне может предъявить претензию.
Я скажу так: если бы мне удалось найти такое издательство, которое, заинтересовавшись моей книгой, разрешило бы мне оставить в свободном доступе электронный вариант - я бы согласился на издание не задумываясь.
0
|
80 / 40 / 0
Регистрация: 18.03.2014
Сообщений: 26
|
|
20.05.2014, 16:53 | 26 |
Приветствую!
С радостью сообщаю, что положено начало рассмотрению монадных трансформеров. Традиционно этот механизм считается сложным для освоения новичками, и, признаюсь, я тоже не сразу въехал. Но теперь рассмотрены трансформеры MaybeT и ReaderT. И если MaybeT элегантен, то в ReaderT я просто влюбился. Всем заинтересовавшимся - просьба сюда. На очереди WriterT и StateT. Добавлено через 23 часа 53 минуты И сразу, по горячим следам, добавлена глава про не менее полезный трансформер WriterT.
1
|
80 / 40 / 0
Регистрация: 18.03.2014
Сообщений: 26
|
|
21.05.2014, 18:31 | 27 |
Ну и для полноты картины, глава про ещё более мощный трансформер StateT.
1
|
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
|
|
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. Большая благодарность за труд. Успехов Вам на Вашем новом поприще!
3
|
80 / 40 / 0
Регистрация: 18.03.2014
Сообщений: 26
|
|
23.05.2014, 14:09 | 29 |
И я вам благодарен за ваши замечания.
С одной стороны, вы совершенно правы. Но с другой, я неоднократно встречал, как в англоязычной литературе по Haskell функцию, предназначенную для инфиксной записи, называют словом operator. Разумеется, `(++)` это функция конкатенации двух списков, но её часто называют оператором. Впрочем, я не считаю это столь уж принципиальным вопросом. Скорее, это лишь игра слов... :-) О да, тут вы совершенно правы. Я недавно встретил одну презентацию по Haskell "для реального мира", посмотрел рекомендованные для изучения разделы языка - и понял, что мне ещё ой как много всего нужно изучить. Спасибо! Добавлено через 21 час 52 минуты И ещё одна глава добавлена, о трансформерах ErrorT и EitherT. Красавцы!
2
|
80 / 40 / 0
Регистрация: 18.03.2014
Сообщений: 26
|
|
27.05.2014, 11:18 | 30 |
Рад сообщить, что теперь книга стала ещё ближе к обучающимся. В конце каждой главы, содержащей примеры кода, вас ждут две новые кнопки:
1. Первая ведёт прямо на GitHub к соответствующему тестовому файлу. 2. Вторая ведёт на FPComplete, где вы сможете незамедлительно скомпилировать код из главы и запустить его на выполнение. Очень удобная возможность поиграться с кодом вживую, даже без установленной у себя Haskell Platform.
4
|
80 / 40 / 0
Регистрация: 18.03.2014
Сообщений: 26
|
|
18.09.2014, 22:15 | 31 |
После долгого перерыва работа над книгой наконец-то возобновилась. Помимо прочего, я отказался от GitBook в пользу Hakyll для генерации веб-версии. Кроме того, теперь книгу можно обсуждать на месте: в конце каждой из глав вы найдёте нашу любимую Disqus. Прошу ознакомиться: http://ohaskell.dshevchenko.biz/ru/index.html
Многие главые нуждаются в серьёзной доработке, это я уже осознал. Кое-что нужно добавить, кое-что расширить, кое-что уточнить.
4
|
21.09.2014, 19:58 | 32 |
В этом разделе нет отдельной темы про литературу по Haskell. Но более-менее по-человечески и по-русски написана имхо не только сабжевая книга, а еще:
- учебник Антона Холомьёва - учебник Григория Макеева - море разливанное литературы от Романа Душкина (в т.ч. ФП на языке Haskell) - зачастую глубже рассматриваются теоретические вопросы - учебник Мирана Липовачи "Во имя добра" ЗЫ и все это можно без труда найти в свободном доступе в сети.
2
|
23.09.2014, 22:41 | 33 |
И уже не сильно по-человечески: одни действительно умные коллеги с научного форума подкинули следующую ссылку -
Код
http://cs.anu.edu.au/~Ben.Lippmeier/project/thesis/thesis-lippmeier-sub.pdf
2
|
80 / 40 / 0
Регистрация: 18.03.2014
Сообщений: 26
|
|
15.01.2015, 17:47 | 34 |
Добрый день! Сообщаю участникам форума, что у нас родилось русскоязычное сообщество Haskell-разработчиков. Цель - собрать воедино всех Хаскелистов рунета в единое блоговое пространства, для обмена премудростями.
Официальный сайт: http://ruhaskell.org/
5
|
Модератор
|
|
01.04.2016, 08:21 | 35 |
Автор выложил О Haskell по-человечески 2.0 (betta). Книга в процессе написания. Надеюсь автор, dshevchenko, не против ссылки. А то он сюда, что то забыл написать.
3
|
80 / 40 / 0
Регистрация: 18.03.2014
Сообщений: 26
|
|
04.04.2016, 14:48 | 36 |
Конечно я не против! Комментарии, пожелания и критика приветствуются! Напоминаю, что репозиторий ждёт ваших форков:
https://github.com/denisshevchenko/ohaskell.guide
3
|
3 / 0 / 0
Регистрация: 18.11.2015
Сообщений: 8
|
|
05.04.2016, 10:24 | 37 |
Слышал что JavaScript это Haskell + Category theory
0
|
80 / 40 / 0
Регистрация: 18.03.2014
Сообщений: 26
|
|
05.04.2016, 10:36 | 38 |
Да? Мне не приходилось такое слышать. Что касается Haskell, то теория категорий вообще необязательна для программирования на нём.
0
|
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 | |
05.04.2016, 20:24 | |
Помогаю со студенческими работами здесь
40
Как по-человечески свернуть программу в трей при ее запуске? Как сделать, чтобы форма по-человечески появлялась на экране)) ? КАК по человечески организовать поддерживаемую связь апплет-сервлет-база Человечески ftp mirror из командной строки есть?, Не нашел чем зеркалить. Указатели и адреса: может кто-нибудь нормально по-человечески эту тему объяснить? "Сообщение отправлено" по-человечески Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как написать микросервис на Go/Golang
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|
Как написать микросервис с нуля на C#
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
|
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
|
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
|
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
|
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента!
4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве).
Первое вводное занятие. . .
|
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
|
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений
Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
|
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
|
UserScript для подсветки кнопок языков программирования в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения:
/ / ==UserScript==
/ / @name CF_DefaultLangSelect
/ / . . .
|
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
|
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
|