Alexander
ага
Зигохистоморфный
СRex?
Зигохистоморфный
или как его там
Alexander
мне ж нужна функция R -> Maybe t
Зигохистоморфный
Alexander
ну или t In tt => R tt -> t
Alexander
имя структуры whatever it is
Зигохистоморфный
типа опциональный деструктор?
A64m
СRex?
речь про https://ghc.haskell.org/trac/ghc/wiki/Plugins/TypeChecker/RowTypes/Coxswain видимо
A64m
там особо и не доделано, ну и на гитхабе где-то год активности не видно
Зигохистоморфный
а я про https://wiki.haskell.org/CTRex говорил походу
A64m
чет у меня никак руки не дойдут бенчмарк разных рекордов сделать, я уже и парсер для -v выхлопа накостылил
A64m
не вижу самого главного показателя, на скольки полях гхц загибается
A64m
я ничего не люблю
Alexander
@xgrommx мне важны не имена полей, а типы
Alexander
т.е. тип это имя поля
Зигохистоморфный
что-то типа typelevel list?
Alexander
это сильно уменьшает интерфейс и упрощает жизнь
Alexander
обычный гетерогенный список
Alexander
с typelevel информацией о том, что там лежит
Alexander
что там *точно* лежит
Alexander
т.е. мне норм если там будет лежать больше, чем я мне надо, просто я не смогу это достать
Зигохистоморфный
это какой-то opened type sum?
Alexander
да
Зигохистоморфный
Alexander
> project :: forall e r v. e :< r => Sum r v -> Maybe (e v)
wtf>
Alexander
?
Alexander
нет опять же это оверкил для задачи
Alexander
так же пакеты инстансы которых я не могу увидеть до конца при масштабе 10% в браузере это не интересно
Alexander
пакет норм, но для другого
Alexander
опять же он не плоский
Alexander
т.е. мне нужен более менее безопасный стораж поверх массивов с индексированием по типам, logN меня устраивает
Зигохистоморфный
мб что-то такое?
https://github.com/i-am-tom/learn-me-a-haskell#oneof
но это вроде обычный Union
там еще есть
HList
Bag
HTree
Alexander
а почему бы мне не использовать typeremap?
Alexander
HList HTree не плоские
Alexander
Bag тупо совсем не то
Зигохистоморфный
@qnikst
есть еще
http://hackage.haskell.org/package/union
https://hackage.haskell.org/package/open-union
но в одном из них винил
Alexander
да я в курсе
Alexander
ты так говоришь, как будто я этих пакетов не видел
Зигохистоморфный
ну я так, просто)
Alexander
но я даже если у них будут хорошие свойства я не знаю почему я должен предпочесть их решению от @chshersh
Alexander
у них кавайная организация, и даже если сингапур снесёт землетрясением, то наверное будут поддерживать пакеты
Зигохистоморфный
Alexander
да
Зигохистоморфный
я конечно видел еще
http://hackage.haskell.org/package/dependent-map-0.2.4.0/docs/Data-Dependent-Map.html
http://hackage.haskell.org/package/dependent-sum-0.4/docs/Data-Dependent-Sum.html
Alexander
там бойлерплейта много
Alexander
вроде
Alexander
я где-то использовал в игрушечных вещах
Зигохистоморфный
а это?
http://hackage.haskell.org/package/type-level-sets
Dmitrii
Alexander
а разве vrom911 не в вашей огранизации и её тоже не убьет землетрясением, которое уничтожит сингапур?
Alexander
а чорт, да я там сослаться что решение твое, ок
Alexander
я думал, я корректнее написал, поправка принята
Зигохистоморфный
Alexander
прикольно что у вас есть время на опенсорс прилично
Alexander
вообще для меня typerep-map скорее похожа на typemap снойманову или что там в vault, только
а. с безопасным интерфейсом
б. тип это ключ
в. быстрее на моих кейсах
Alexander
у меня были похожие штуки, но я а. не выделял это в пакет, б. или не безопасные или с именами, а не по типам
Alexander
а тут все за меня сделано
Dmitrii
прикольно что у вас есть время на опенсорс прилично
На работе поощряют опенсорс, и хотят, чтобы люди развивались. Полдня в неделю надо отводить изучению новым штукам или проектам. Но вообще да, пока что и просто на Haskell писать очень увлекательно, столько нового можно выучить и сделать, поэтому есть время и желание 🙂
Cheese
@qnikst, это телеграм чатик, а не твиттер, напиши то, что ты думаешь про хаскель и db
Alexander
я ж писал
Cheese
[количество цензарной ругани превысило размер сообщения]
Alexander
у нас нету ни одной приличной low level либы работающей с pg
Alexander
все работает поверх libpg
Alexander
ты смотришь графики rps, и видишь проседание на 20% при тупых запросах мелких
Alexander
у тебя большие и ты ловишь RTS на вечном spin lock где оно проводит 80% cpu времени на threaded RTS
Alexander
ибо GC
Alexander
приличной либы опубликованной на hackage
Alexander
МНЕ НЕ НУЖЕН libpq
Alexander
вот postgres-wire то что мне нужно
Alexander
мне нужна нативная либа общающаяся с pg напрямую
Cheese
а разве с Посгресом можно общаться мимо libpq? я не в курсе
Alexander
ну сокет у него есть, куда коннект идет значит можно
Alexander
в go например нативный драйвер