Dmitry
@lonokhov Похоже на то, что надо, сейчас попробую.
Alexander
Приколько, что можно использовать ViewPatterns вместо let для конвертации значений. toBar :: Integer -> Bar toBar = Bar f :: Integer -> Bar f (toBar -> asBar) = asBar
Alexander
Пример утрированный, в моем случае там конвертация была более сложной и изначально лежала в let.
Ю ли я? 🤔
[1:24:49 PM] Alexander Vershilov я читал душкина из-за этого я начал писать на haskell на пол-года - год позже чем мог бы Та же фигня :(
Alexander
Книг по Хаскелю мало, приходится ценить даже Душкина...
Alexander
А по Питону книг десятки, если не сотни. О чем там можно так много и часто писать, не представляю.
kosc
Так а чё вы не соберётесь.
kosc
И не напишете ултимативно понятную подробную книгу по хаскелю?
kosc
С примерами.
kosc
На Idris.
Leonid 🦇
мы уже поняли, нам оно не надо
Alexander
Ну есть Haskell Book, она с таким замахом
Alexander
Почему-то от нее писаются кипятком
кана
для intermediate
кана
http://intermediatehaskell.com
kosc
>Great! Just wait until 2018
kosc
....
Leonid 🦇
Почему-то от нее писаются кипятком
Потому что там и авторы с замахом. И они устроили дикий сэйлз по всему интернету. Несогласных запинывали ногами.
A64m
удивительно, что сейчас вообще люди читают книги про языки программирования
Andrew
Только из книг и учусь
Leonid 🦇
после того как основы поймешь, учится надо из чужих сорцов. у там то плохому быстро научат
Alexander
удивительно, что сейчас вообще люди читают книги про языки программирования
Ну, например, такие книги как LYAH, мне читать приятно. Для меня это - как путешествие в сказочный мир с хорошим автором-персонажем. Я ее читал уже когда знал Haskell на достаточном уровне.
кана
а мне ее сложновато читать когда знаешь на достаточном уровне
кана
я ее прочитал до половины, потом отвлекся на месяц на статейки всякие
Влод
да даже когда не знал - она раздражала
кана
а потом уже читать невозможно, нудная, много воды и так далее
Влод
и ещё больше раздражала тем что тогда все её советовали
Leonid 🦇
Граммар-наци промолчал.
а ведь не промолчал
Влод
на хабре эти статейки с картинками пилили
Alexander
Ну а в каком стиле вы бы предпочли книгу по Хаскелю? На примере книг из других миров
Влод
Ну а в каком стиле вы бы предпочли книгу по Хаскелю? На примере книг из других миров
RWH нравилась. но тогда все плевались мол устарела. я этого как-то не замечал
кана
на хабре эти статейки с картинками пилили
статьи на хабре это от другого автора вроде
кана
http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html
кана
если ты про это
кана
картинки просто похожи
Andrew
В real world haskell нет картинок
Влод
ну что-то такое же
Влод
мемы какие-то непонятные
Alexander
RWH нравилась. но тогда все плевались мол устарела. я этого как-то не замечал
Ее актуализировать можно, и много подобных же глав написать. Хотя бы в электронном виде. Но прежних авторов, наверное, уже не соберешь
Leonid 🦇
http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html
Из этой статьи вообще ничего не понятно.
кана
статья просто про контейнеры все имхо плохая интуиция все таки
Leonid 🦇
В большинтсве случаев проблемы с функторами/аппликативами/монадами у людей возникают вовсе не из-за их сложности, а из-за того что в тот момент когда начинают изучать, еще толком не поняли синтаксис и ADT
Leonid 🦇
паттерн-матчинг, аннотации типа
кана
у меня были некоторые проблемы из-за того, что я HKT не осознал, но когда смотрел на инстансы функторов вроде все понимал на самом деле я просто не осознавал, что я не понимаю
Alexander
Мне кажется, проблемы чаще возникают из-за непонимания, зачем это нужно и какие проблемы решает
Leonid 🦇
проблема "как достать String из IO String" достаточно очевидна...
Alexander
Нету логического мостика между текущим опытом и новыми концепциями. Тебе просто говорят: это функтор. А ты такой: и?
Leonid 🦇
Мем какой-то?
этот вопрос в чатах задают 80% новичков
Влод
Alexander
Только конструктор значения недоступен
Влод
Евгений
В большинтсве случаев проблемы с функторами/аппликативами/монадами у людей возникают вовсе не из-за их сложности, а из-за того что в тот момент когда начинают изучать, еще толком не поняли синтаксис и ADT
Ну просто книжки/вводные курсы по сабжу не делают акцента на ADT. Во многом это происходит потому, что раньше основной поток хаскелистов был из ML, где вся интуиция вокруг ADT построена. Сейчас не так совсем, а гайды старые
A64m
не удалось вспомнить как вообще АлгТД вводятся в тех книгах что я читал
A64m
не помню,, правда, чтоб у меня с ними какие-то проблемы были
Влод
не удалось вспомнить как вообще АлгТД вводятся в тех книгах что я читал
а был какой-то прецедент после которого ты теперь всегда пишешь АлгТд?
Евгений
В ляхе тайпклассы вводятся во втором разделе, а адт в восьмом (я не помню, я просто погуглил)
A64m
помню, что что-то мне казалось нелогичным в тайпклассах и даже в объявлении инстансов, но теперь уже не вспомню что
A64m
а был какой-то прецедент после которого ты теперь всегда пишешь АлгТд?
для меня АТД значит абстрактный тип данных просто
Leonid 🦇
АбсТд
A64m
А ты не из смл пришёл? Сразу на сабж?
не с смл, я читал Харрисона и Харрисона(не того)-Филда, тогда ничего вроде не было больше, даже красть на гигапедии какой-нибудь в первом камл лайт, во втором хоуп и миранда
Влод
помню, что что-то мне казалось нелогичным в тайпклассах и даже в объявлении инстансов, но теперь уже не вспомню что
ну мне всегда бесило что у типа может быть только один инстанс для тайпкласса и то что они неявно импортятся. не знаю как это сделать лучше, но как-то не ок и отсюда выражения "Х является монадой" в то время как правильнее было бы "монада выражает Х" или "Х может быть представлена монадой единственным/множеством способов"
A64m
но в смысле введения в алгтд эти книги не супер, да и в других смыслах, чего уж там
Влод
для меня АТД значит абстрактный тип данных просто
ну да я понял. просто в этом чате редко говорят про абстрактные типы данных (вернее не редко но не называя адт)
A64m
наверное то, что выбор инстанса только по голове
A64m
и если только по голове - почему контекст тогда слева?
Влод
нельзя сделать инстанс для списка из мейби?
A64m
нет, не про это
Влод
ну да. ну как бы славно что всё так сделали. иначе всё было бы вербозно и вообще не было бы чувства полиморфизма.
Влод
сам выбираешь нужны фмап