A64m
начерта нужен этот чат если тут будут за оффтоп банить?
Dmitry
производительность, конечно же
1) запустите в threadscope 2) запустите в профайлере 3) у вас state в длительном цикле 4) у вас еще как-то еще течет цикл (двойная рекурсия, вторая не стала хвостовой 5) расставьте аннотации
Nikolai
A64m
сейчас более модная тема производительность компиляции
Dmitry
компилятор выжрал всю память и упал? разделите ваш мега-API на несколько и разнесите по разным серверам
Слава
Misha
Евгений
Так и появились микросервисы.
Ну да, было поделее на php, запущенное на одном сервере. А потом ВЖУХ и миллионы посещений, быстро переписывать куски и выносить на другие сервера и т.д.
Слава
Евгений
Alexander
ппц, не смотришь в телефон на выходных а тут такое
Alexander
а если бы в поход на две недели ушел?
Leonid 🦇
А я перестал пытаться прочитать весь чат уже давно
Leonid 🦇
Вот уже с пару недель как на твиттер забил.
Евгений
leto.png
Leonid 🦇
а разве всякие тензорфлоу не кодогенераторы?
Ilya
Не знаю, у нас нейронками не занимаются
Kirill
Хнык, не будет новых вариантов кассавы на хэкидже https://github.com/haskell/hackage-server/pull/761
Dmitry
Dmitry
Что ещё у нас пелевиноподобное есть?
Dmitry
я всё понимаю
Слава
Евгений
Никто не хочет флудить во флудочате
Dmitry
но может, подзавяжем с офтопом на какое-то время?
A64m
это вроде недавно было уже
Dmitry
ну вроде работало
Ilya
A64m
не знаю, не видел
Dmitry
@Masteroid это не ко мне
Евгений
A64m
все хотят, или речь про какой-то другой флудочат - не этот
Ilya
в порядке не оффтопа, как мне сказать GHC, что если я называю переменную типа одним и тем же именем, то это одна переменная и есть, и не надо мне делать a0 из a и потом жаловатся, что не могу вывести C a0 из C a?
A64m
language ScopedTypeVariables
Ilya
включено
A64m
потом явно в заголовке функции forall a. написать
Ilya
готово
A64m
и тогда этот a можно будет дальше использовать
Ilya
не работает
A64m
хм
Слава
не работает
Может, в чем другом дело? Назовите другим именем, на пробу
Leonid 🦇
официальный чат для флуда @haskell_blah
Ilya
я может не совсем правильно описал проблему, мне не надо имя типа в теле функции, просто повторяющийся полиморфный тип в сигнатуре
A64m
теперь непонятно стало
Ilya
а, я кажется понял, в чем проблема
Ilya
моя переменная типа упоминается только в констрейнтах, но не в основной части типа
Ilya
это проблема, надо прокси добавлять?
A64m
можно TypeApplications использовать
Ilya
Ilya
Cheese
AllowAmbiguousTypes + TypeApplications
Cheese
Ilya
хм, Ambiguous я что-то не хочу.. Там реально один тип
Cheese
а, кажется, это работа для FunDep|TypeFam
Ilya
сейчас покажу, там как раз пока еще ничего нет 🙂
Ilya
https://github.com/yanok/queLam/blob/master/src/QueLam/Example/Q2.hs
Ilya
это я пытаюсь https://bitbucket.org/knih/quel имплементировать с полиморфизмом и суперрекордом
Nikolai
https://github.com/yanok/queLam/blob/master/src/QueLam/Core.hs#L20
здесь не хватает FunDep типа
class HasTable schema (t :: Symbol) r | schema t -> r
Ilya
да, действительно, спасибо!
Ilya
там все равно почему-то не работает с типом Record, который советуют использовать в документации superrecord... но по крайней мере с Rec работает...
Alexander
о, ты всё-таки это реализовывать стал, надо бы присоединиться, а то я неполное решение в нашем коде оставил
Ilya
да, вот дошли руки
Alexander
у меня как раз тоже дойдут, я правда не знаю нужно ли мне superrecord
Ilya
ну рекорды вроде естественно использовать для представления строк
Ilya
насчет именно superrecord я не знаю, какие сейчас рекорды самые модные
A64m
библиотечные рекорды сейчас одна другой хуже
Alexander
для компайлтайма и структуры нормально
Alexander
или тупли
Alexander
или векторы фикседы генерики
Alexander
причем у меня желания на самом деле очень ортогональные
Alexander
хотя синглтоны тоже нужны
Alexander
у меня описание схемы + запрос который нужно скомпилировать все из рантайма
Alexander
причем с дополнительной операцией zip
Alexander
которая не из SQL, но нужна
Маjко
Привет, решил после раста вкатиться в haskell чтобы лучше понимать теркат и зачем нужны HKT