Зигохистоморфный
Artyom
что несколько людей нажали на вторую лямбду (или на первую и третью)
Artyom
это рейтинги библиотек прикрутили к Hackage не очень давно
Artyom
https://github.com/haskell/hackage-server/pull/609
Artyom
раньше просто была кнопочка “vote for this package” неприметная и считалось количество голосов
Artyom
и ещё в поиске это показывается теперь
Artyom
Artyom
Да, я это знаю, я видел. В том же и вопрос, как он экспортирует их, как он попал в доку, если нет сорцов для этого Const?
экспортировать можно что угодно, не только вещи, которые определены в этом же модуле/пакете
Artyom
Alexander
кстати бесит когда реэеспорт из other-module
Alexander
в итоге через hackage сорцов не видно
Зигохистоморфный
или хитро import A as X import B as X import C as X
кана
кстати бесит когда реэеспорт из other-module
А, вот теперь понятно, в чем проблема-то
Alexander
вообще other-module очень бесит
Alexander
почему людям с .Internal не живется
кана
Вообще это довольно странно, так мб делают для удобства, но это нифига неверно. В смысла, когда модуль поставляют больше, чем нужно
Alexander
вечно забывают что-нить экспортировать
Alexander
для линз я точно не знаю почему
Alexander
для сложных структур с хитрыми внутренностями ещё можно понять
Alexander
там поломать все можно
Artyom
у линз нету other-modules
Artyom
Кметт тоже их не любит
Artyom
у него даже talk есть про то, как он их не любит
Alexander
но Const в Data.Functor.Const же живет?
Alexander
в base
Artyom
это да
кана
начал смотреть на призмы, а там сразу козвезды, чойсы, профункторы. До этого все было так легко
Дима
А оно просто сразу и требуется
Дима
Одних линз недостаточно
Дима
Плюс у большинства из них довольно простые концепции
Cheese
Кхкхкхкх
доня.
во всех чатах телеграма
kosc
Да ОНО вообще повсюду.
Aleksei (astynax)
"Динамическая vs строгая" меня тоже коробит, я бы тоже за клоуном полез - Что ты там ляпнул, клоун? Эти качества ортогональны! Ты куда побежал?
Дима
"Сильная типизация - это та, которая нравится мне"
Cheese
нет, у сильной есть определение
Cheese
Дима
Цитата, о общей бессмысленности споров о терминологиях типизации. Определения есть разумеется, но в голове у оппонентов регулярно оказываются совершенно разные трактовки, сводящиеся к цитате выше Ввиду чего дискуссии часто становятся контрпродуктивными (хотя конечно же ничего сложного в этих понятиях нет)
Aleksei (astynax)
@cblp "Строгая" == "Сильная" == "Strong" в паре с "типизация", смирись уже (я вот мирюсь) :) "Строгая динамическая типизация" - уже устоявшееся словосочетание, пусть и неверное.
Aleksei (astynax)
А "Сильная" и "Динамическая" таки ортогональны, ибо "сильная vs слабая", но "динамическая vs статическая" - по крайней мере в массах имеет хождение такое разделение, и "Строгая" в массах означает "Сильная" :)
Aleksei (astynax)
Ага
Aleksei (astynax)
Автоматическое приведение типов, не являющихся сродными, я бы сказал - целые с вещественными взаимопреобразовывать многие статические языки умеют :)
Евгений
Автоматическое приведение типов, не являющихся сродными, я бы сказал - целые с вещественными взаимопреобразовывать многие статические языки умеют :)
А есть какие-то языки с автоматическим приведением, в которых какие-то сложные типы приводятся автоматически? Максимум что я видел — из сложного типа данных в строчку и обратно
Aleksei (astynax)
"сродные", это не очепятка была. Имел в виду "родственные типы" - как целые и дробные, т.е. "чиселки"
Aleksei (astynax)
"Сложные типы" к булеву значению, например, много где приводятся - ссылка на объект не null, значит "True" :)
Aleksei (astynax)
Кстати да, в JS вообще всё к строке приводится - отсюда "[object]"
Евгений
Ну приведение к строке как раз много где есть
Cheese
в Перле между скалярами скалярами и списками автоматическая конверсия, если я правильно помню
Cheese
во всех ООП языках автоматическое приведение вверх по наследованию и иногда вниз
Aleksei (astynax)
Ну приведение к строке как раз много где есть
неявное приведение к строке есть не везде. Много где есть .toString(), это верно
Евгений
Но например неявное приведение к строке можно объяснить неявной типизацией вместо String (ToString a => forall a. a)
Евгений
Cheese
в питоне преведение последовательностей к итераторам в for считается?
Cheese
Это называется сабтайпинг, это корректное правило же
по-моему, частный случай слабой. разве остальные правила слабой типизации некорректны?
Евгений
по-моему, частный случай слабой. разве остальные правила слабой типизации некорректны?
Почему это сабтайпинг разновидность слабой типизации? Может тогда постановка в хиндли-милнера тоже?
Cheese
Разновидность сабтайпинга же
нет, итерируемые и итераторы не связаны родством. скорее, разновидность сахара
Евгений
Или в экзистенциальные типы?
Cheese
в динамических языках тоже можно сказать, что все типы — подтипы Object или String
Евгений
На самом деле я склоняюсь к тому, что никакой слабой типизации нет. Точнее есть, но как разновидность некорректной типизации :)
Aleksei (astynax)
Абслоютно слабой нет, есть слабые местами системы типов (а местами сильные)
Aleksei (astynax)
Питон чутка сильнее чем ЖС
Misha
Почему это сабтайпинг разновидность слабой типизации? Может тогда постановка в хиндли-милнера тоже?
ООП сабтайпинг /= ХМ-лайк сабтайпинг разумеется, это разные формализмы.
Cheese
ассемблер — абсолютно слабый
Cheese
Питон чутка сильнее чем ЖС
да ладно! Питон почти везде сильный, ЖС почти везде слабый
Aleksei (astynax)
Питон почти везде сильный, это правда.
Cheese
ах да, есть ещё "утиная типизация", которую легко спутать с динамической или со слабой
Aleksei (astynax)
утиная типизация, это не признак слабины же!
Cheese
именно!
Aleksei (astynax)
Кроме случая "всё выглядит, как boolean, значит будет boolean" :)
Cheese
Я где-то такое говорил?
ты экстраполировал с одного на другое