Кабачок
а в Аде?..
A64m
нет
Aliester
а в Аде?..
правильно говорить в Аду
Ю ли я? 🤔
полезное утверждение, означает что еще работать и работать надо
Как будто без этого утверждения кто-то мешает работать
parket
Это троллинг?
Простите, да 😔
A64m
Как будто без этого утверждения кто-то мешает работать
мешает, конечно. авторы языков все время любят обосновывать что делать ничего не надо, никогда нельзя им подпевать и нормализовывать такую ситуацию, когда они не дело свое делают, а подводят обоснование почему делать ничего не надо
Quet
В Go импорты лучше чем в Haskell, kwkwkw
отвратительны они там
Sergey
https://github.com/tc39/proposal-flatMap/pull/56
Sergey
ВЖУХ is the new bind
Denis
А вот скажите пожалуйста, я могу полагаться на то, что тут всегда будет 42, а не 13? Или это деталь текущей реализации? Документация, вроде, помалкивает на этот счет. GHCi> unionBy (\(x,_)(y,_)->x==y) [(1,42),(2,12)] [(1,13),(8,506)] [(1,42),(2,12),(8,506)] GHCi> intersectBy (\(x,_)(y,_)->x==y) [(1,42),(2,12)] [(1,13),(8,506)] [(1,42)]
Dmitry
Duplicates, and elements of the first list, are removed from the the second list, but if the first list contains duplicates, so will the result. It is a special case of unionBy, which allows the programmer to supply their own equality test.
Dmitry
?
Dmitry
http://hackage.haskell.org/package/base-4.10.1.0/docs/Data-List.html#v:union
Dmitry
Т.е. должно быть 42
Denis
Duplicates, and elements of the first list, are removed from the the second list, but if the first list contains duplicates, so will the result. It is a special case of unionBy, which allows the programmer to supply their own equality test.
О, спасибо, не смотрел туда, а зря. Хотя стоило бы в более общей функции прописать те же слова.
Dmitry
Кстати, пользуясь случаем, хочу поблагодарить за курс. Было круто :) А не планируете третью часть или что-нибудь ещё? Часто вижу вопросы от новичков о связи теории категорий и Haskell, вот бы такой курс получить!
Dmitry
@deni_ok ^
Denis
@deni_ok ^
Всегда приятно слышать отзывы, особенно положительные. Я боюсь, что в формате MOOC сложно что-то еще сделать. Уже вторая часть не дотягивает по востребованности до разумной с моей точки зрения планки. Но тут я заказчиков заранее предупреждал, что даже на волне успеха первой части набрать достаточно много слушателей на вторую будет сложно.
Dmitry
Да, чем сложнее тема, тем сильнее тянет с учебниками разбираться, а не видео смотреть.
Dmitry
Для обзора темы MOOC хороши
Dmitry
Для глубокого бурения -- уже нет.
Aliester
я вообще не уверен как глубоко бурить без реального рабочего погружения
Dmitry
По идее, это ж задачами решается.
Dmitry
Я Haskell начинал изучать с решением задачек с Project Euler
Dmitry
В смысле, что задачников-то в инете хватает. Берёшь и погружаешься.
Антон
В Go импорты лучше чем в Haskell, kwkwkw
Ммм, обожаю запах импортов с сайд-эффектами по утрам
Alexander
@deni_ok а можно слайды (если есть) и задачи с курса по типам будет опубликовать в каком-то виде?
Denis
@deni_ok а можно слайды (если есть) и задачи с курса по типам будет опубликовать в каком-то виде?
Там пока все довольно бардачно и непричесано. Мой внутренний перфекционист пока сдерживает меня от открытой публикации.
Alexander
:(
Alexander
а можно полуоткрытую или по приглашениям, бета-тест, трайал-период ?
Dmitry
А что за курс по типам?
Alexander
Я подумаю.
спасибо
Alexander
https://twitter.com/_bravit/status/971472210002108417 начиная отсюда
Антон
алсо теперь это чатик для обсуждения тветиттера брагилевского
Антон
Кибербуллинг любой плохо.
Alexandr
😂
Alexander
я не знаю где ссылку на курс в АУ найти, а по той ссылке было много комментариев по которым можно составить представление о чем разговор
Dmitry
https://twitter.com/FunctorFact/status/971560275907436544
Dmitry
с чего это вдруг?
Dmitry
категористы, растолкуйте
кана
линза смотрит в произведение призма смотрит в сумму
Антон
линза смотрит в произведение призма смотрит в сумму
А можете подсказать внятное введение в линзы?
Dmitry
ага, спасибо, я разобрался
Dmitry
https://stackoverflow.com/questions/32223859/whats-the-difference-between-a-lens-and-a-partial-lens
Dmitry
вот тут более развёрнуто
Антон
Гонзалеса читал, но он больше о том, как линзы использовать, чем как они устроены
кана
А можете подсказать внятное введение в линзы?
линзы over tea - https://artyom.me/#lens-over-tea ну или решить кату на кодваре, самому пытаясь по типам разобраться (с призмами жесть, но за сутки с нулевыми знаниями справился) - https://www.codewars.com/kata/lensmaker/haskell
кана
ну и я еще писал разбор работы - https://t.me/kanaflow/23
Антон
Благодарю
кана
что делать если хочется много разных стейтов и не хочется делать рекорд? (и лишнего бойлерплейта)
кана
и чтобы нужный стейт для бинда/лифта сам выводился
Андрей
у меня одного идея тормозит в хаскеле?
Слава
а в Аде?..
Замечательно там с модулями. Вплоть до обобщённых
A64m
нет
Andrey
нет
а что вообще хотелось бы от системы модулей? ну например — как можно сделать лучше чем в OCaml?
A64m
в аде намного хуже чем в окамле
Andrey
ну я просто видел выше что "нигде не хорошо, а в OCaml они хотя бы есть" (неточная цитата)
A64m
а, ну просто ответ был не на то сообщение, а сообщение про аду в принципе есть дрееровские работы по улучшению макквиновских модулей вообще, по миксинам, когда не нужно программисту вручную функторы применять, а автоматически миксин-линковка ему помогает, и соотвественно код в котором едет функтор через функтор выглядит как обычный, импорт от параметра функтора не отличается. также есть проблемы с аппликативными функторами, для решения которых надо код на чистоту проверять. но вообще, вероятно, в окмле с модулями ситуация лучше всего.
Andrey
ясно, спасибо. Миксины это MixML?
A64m
да
Andrey
еще конечно 1ML интересная штука — унификация core language и module language
Andrey
https://people.mpi-sws.org/~rossberg/1ml/
A64m
ну это работа по облегчению формализации, может быть энкодинга в языках, где модулей нет и имплементации, тут именно для пользователя языка нету каких-то улучшений
Andrey
и там последняя бумага про модули с эффектами, которая изящно (субьективное мнение) описывает генеративность
A64m
1ml нормально генеративные функторы описывает, вот с аппликативными не все так радужно уже
A64m
Ага, 8.4 зарелизили в один день с llvm 6, но с официальной поддержкой предыдущей версии, естественно
A64m
https://twitter.com/bgamari/status/971798817048850432
A64m
первый релиз гхц без фич лет за 20 (но это не точно)
Евгений
https://twitter.com/bgamari/status/971798817048850432
Высокая эффективность комитета по фичам. http://www.stihi-rus.ru/1/Mayakovskiy/65.htm
кана
вот имею в стейте Maybe Int как мне так извернуться чтобы »= отдавал только если в стейте Just? то есть чтобы put $ Just 10 x <- get x :: Int ?
Кабачок
Just x <- get | ... что-то же такое было?
Anonymous
Никак
Anonymous
Или сделай StateT Maybe Int
Alexander
@bravit111 на курсах про идрис я спрашивал, про то можно ли с уникальными типами сортировку больее-менее доказанную запилить. Тогда в идрисе я не осилил, а в haskell более-менее норм https://www.tweag.io/posts/2018-03-08-linear-sort.html