кана
да даже если удариться в смысл слова словарь, то это противоречит структуре
кана
а он ассоциированный?
Vasiliy
конечно, целыми числами
Евгений
конечно, целыми числами
Целые числа это слова в алфавите {0,1}
Vasiliy
вообще, в разных местах под одним и тем же словом подразумевают разные вещи, а одно и то же называют разными словами
Alexander
Generally, type classes are translated into SystemF [17] by (1) turn- ing each class into a record type, called a dictionary, contain- ing the class methods, (2) converting each instance into a dic- tionary value, and (3) passing such dictionaries to whichever function mentions a class in its signature. For example, a func- tion of type negate :: Num a => a -> a will translate to negate : NumDict a → a → a, where NumDict is the record generated
Vasiliy
скажите, какие есть операции и какие у них свойства
Alexander
System F with type equality coercions
кана
так может это именно в контексте хаскеля словарь понимают неправильно?
Alexander
[17] C. V. Hall, K. Hammond, S. L. Peyton Jones, and P. L.Wadler. Type classes in Haskell. ACMTrans. Program. Lang. Syst., 18(2):109–138, 1996. [18]
Vasiliy
типа вставка за O(n), доступ за O(1), памяти жрёт O(n^2)
Alexander
вот в Семёновых статьях так
Alexander
той куда ссылка у меня нету, буду щас искать качать
Alexander
> Each instance declaration generates an appropriate corresponding dictionary declaration. The dictionary for a class contains dictionaries for all the superclasses, and methods for all the operators. Corresponding to the Eq Int and Ord Int instances, we have the dictionaries:
Alexander
все ошибаются кроме SPJ это ж очевидно
Alexander
это PJ
Vasiliy
скорее alist или plist
да не важно, внутре всё равно car и cdr
Alexander
вон @A64m_qb0 надо пнуть
Alexander
он наверяка знает откуда термин
Кабачок
@qnikst это не Клапауций случайно?
Alexander
вроде же это давно выяснили
Alexander
@lonokhov за пару фраз вывел
Кабачок
Я уже спрашивал, но не увидел подтверждения.
Alexander
ну может его брат близнец
Алексей
Он отказывается от комментариев же
A64m
В вадлеровском пейпере уже dictionary
A64m
а до него вроде и не было ничего
A64m
https://people.csail.mit.edu/dnj/teaching/6898/papers/wadler88.pdf стр. 7 например
Alexander
lambda man не может быть виноват
Artem
Да ладно, просто хаскелевская тусовочка очень замкнутая. Когда тут начинают естественные изоморфизмы между эндофункторами над Hask строить я тоже себя чувствую лишним. Потому что по мне так теоркат удобен только чтобы когомологии в триагулированных категориях считать, а не вот вот всё.
Вообще, любая тусовочка имеет такие штуки. Например, в языке R (люди, которые непосредственно над языком работают, а не статистики всякие) говорят promise про то, что в Х. называют thunk. И когда им говоришь, что вообще-то промизы давно заняты в конкурентном программировании (для другого), они отмахиваются…
Alexander
кстати промисы и weakref там взяты из haskell
Alexander
о чем недвусмысленно пишет мануал для разрабов
Alexander
и у них очень интересный подход к иммутабельности
Alexander
(ужасный)
A64m
А как лучше называть эти словари, если не словари?
Евгений
А как лучше называть эти словари, если не словари?
Ну в тексте, который кникст выше кидал есть слово "рекорд", ещё есть слово "структура"
A64m
"метод передачи рекорда класса" "структуры класса" нууууу
Евгений
"словаря класса" тож такое
A64m
хотя, у Вадлера они method dictionaries
Cheese
и у них очень интересный подход к иммутабельности
«если значение не изменять, оно будет неизменяемым» — такой?
Кабачок
хотя, у Вадлера они method dictionaries
Вот, а я про что говорил?
A64m
да там все правильно, если не считать, что рекордов тогда не было, но все равно не понятно, очему _словарь_ методов-то?
Alexander
«если значение не изменять, оно будет неизменяемым» — такой?
не, там если ты шаришь структуру, то меняется флажок
Alexander
потом тот кто хочет поменять, смотрит, что там за флажок, если 1, то копирует структуру и обновляет
Alexander
если нет, то меняет inplace
Leonid 🦇
@A64m_qb0 vtable же
A64m
vtable это только когда словарь к GADT прикрепляется
Artem
потом тот кто хочет поменять, смотрит, что там за флажок, если 1, то копирует структуру и обновляет
Коротко говоря: copy on write. Да, так и есть. Я бы не сказал, что это именно к неизменяемости относится
Anton
/test
Michel
/stat@combot
Combot
combot.org/chat/-1001043143583
Alexander
а новый enconding в aeson можно скомпозить с монадическими стримами?
Ignat
@qnikst всё ещё жду анонс твоего доклада на фп-митап
Aliester
читаю о Геделе и лолирую
Aliester
В 1948 году Гёдель получил американское гражданство. На собеседовании он попытался доказать, что Конституция США формально-логически неполна и не гарантирует от установления диктатуры, но был вежливо остановлен.
Alexander
Ignat ага, я напишу, у меня тут некоторый форс-мажор был, я с трудом все успеваю (не все)
Alexander
мне ещё надо понять смогу ли я вообще доехать
Aliester
Что за книга?
https://web.archive.org/web/20141226210511/https://robert.accettura.com/wp-content/uploads/2010/10/Morgenstern_onGoedelcitizenship.pdf
A64m
судя по кол-ву звезд на гитхабе (5) Гендри полностью удалось убедить зрителей своим невеселым докладом в том, что линзы с абстрактными типами не нужны
Alexander
ох
Kirill
А что за доклад?
A64m
вот этот вот https://github.com/well-typed/optics/blob/master/Talk.pdf на хаскельэксчендж
A64m
доклад невеселый не в смысле плохой, там просто честно перечисляются недостатки выбранного ими подхода
Denis
как-то пока больше на библиотеку для публикации похоже, чем на что-то юзабельное
A64m
ну правильно, в lens за первые 8 месяцев существования были тысячи коммитов и под сотню KLOC добавлено. Она за это время, в общем-то вся и написана была. А тут
A64m
но все равно, сделать доклад, видео доступно, мероприятие достаточно известное у хаскелистов. В докладе прямо ссылка на репо на гитхабе. И после всего этого ПЯТЬ звезд.
Alexander
из которых 3 - не забыть посмотреть
A64m
ну это-то нормально. Но что-то мало кто хочет не забыть
Leonid 🦇
у хаскелистов не принято на гитхабе звездить
Aragaer
ученые они такие
Cheese
у хаскелитов принято лямбдочки на Хакадже ставить
Влод
а есть топ либ по лямбдочкам?
Влод
там же 4х оценок наверное достаточно чтобы на 1е место вырваться
A64m
vector почему-то никто лямбдами не оценил. Хмммм... малоизвестная библиотека наверное, годится ли для продакшона?
Влод
112 звёздочек на гитхабе. ну так, ребята в начале пути