Кабачок
:s/слак/телеграм/
Bohdan
Я очень наделся что гиттер-чат мертв, платформа обанкротилась и все перешли на слак. —manpages
Слак вообще умеет в публичные аккаунты и публичные чаты? Или там можно только инвайтить в конкретное комьюнити, как в скайпе?
Evgeny
Кого можно поспрашивать на тему "как состыковать warp/wai и любой не-HTTP runClient, который может цепляться к каким-нибудь чатам, типа xmpp"?
Evgeny
Я подозреваю, там всё несложно, но вываливать в глобальный чат свой код — это, как мне кажется, неуважительно будет)
Vasiliy
вываливай на пастбин, сюда ссылку
Evgeny
Кстати, да Секунду.
Leonid 🦇
как думаете, System.Process.run* достаточно тормозные чтоб на каждый запуск искать самому в PATH бинарь, для более лучшего логгирования?
Leonid 🦇
вообще конечно в glibc и так оно ищется, если / в путях нет
Alexander
там же что-то из семейства exec* которые ищут в путях используется
Leonid 🦇
да, но при ошибке она не напишет какой бинарь использовался
Leonid 🦇
можно конечно при запуске искать
Leonid 🦇
при запуске проги
Alexander
я бы не парился и искал
Alexander
если волнует то померяй разницу 10000 последовательных запусков true и /bin/true
Leonid 🦇
нет, там надо померять запуск stat на N путей в PATH :)
Leonid 🦇
https://github.com/zerovm/glibc/blob/master/posix/execvp.c#L93
kosc
Ей, у меня появилось две книжки по Haskell. А учитывая, что я работаю Python-программистом, тимлид вручил мне их со словами "Мы, правда, рискуем тебя потерять.".
Leonid 🦇
т.е. и так и так оно будет. вся разница в скорости будет из-за String в System.Directory
kosc
Функциональное программирование на Haskell
kosc
И Справочник по языку Haskell.
kosc
Давно хотел всерьёз начать раскуривать ФП.
kosc
Причём нужно было лютое ФП.
Andrey
2 Душкина, похоже )
Anatoly
А раз уж зашел разговор о книгах, то книга "изучай haskell во имя добра" рекомендована к прочтению?
Evgeny
https://pastebin.com/G7zuThhD Цель: из https://john-millikin.com/software/haskell-xmpp/reference/network-protocol-xmpp/latest/Network.Protocol.XMPP/ после запуска warp запускать runClient Т.е. , что то типа runSettings (warpSettings conf) $ gzip def mainRouter $ \xmppCl -> do res <- runClient host user pwd $ \httpServ -> do (appSink ...)
Evgeny
Конечно, у меня это неправильно, показано, запускать изолированный ресурс надо из mainRouter : Application
Evgeny
Ну и дальше, когда будет работать подключение клиентом к xmpp , можно будет валить в него json от warp и обратно какие-то команды слать в варп, чтобы тот передавал другому приложению по http
Andrew
Честно говоря, на хаскеле я пока не пишу, но уже курю мануалы
О да я на таком пути. Только мне руби достал
Anatoly
Спасибо. А Изучаем Haskell Алехадро Мена?
Aleksei (astynax)
https://medium.com/@_bravit/%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8-%D0%BF%D0%BE-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8E-%D0%BD%D0%B0-haskell-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D1%8B-712c1f5b7749
Anatoly
Спасибо, Алексей!
Alexander
o/
Vadim
Ребят, всем привет) Я ток недавно начал учить хаскель, подскажите - такая ситуация с ghc-mod - это норма или я чето сделал не так?)
Vadim
кана
Ну вон у одного чувака hie 13 гигов жрет, а интеро "всего" полтора
Vadim
у меня нет 13 гигов - че делать?
Vasiliy
не использовать ghc-mod
Vasiliy
в одном иксовом окне емакс, в другом терминал с stack build --fast --file-watch
Artyom
или можно в хаскель-моде просто жать C-c C-r после каждого нетривиального изменения
Artyom
удобно то, что тогда на позиции в коде из сообщений об ошибках можно сразу в емаксе прыгать
Artyom
помогите мне кто-нибудь с esqueleto
Artyom
resolvePointer :: (MonadIO m) => EntryPointer -> S.SqlReadT m [EntryId] resolvePointer (Index i) = do S.select $ S.from $ \entry -> do S.orderBy [EntryId] S.offset (fromIntegral i) S.limit 1 return (entry S.^. EntryId)
Artyom
хочу взять айдишник i-той строчки в таблице
Artyom
получаю кучку ошибок: http://lpaste.net/8739795583029477376
Artyom
• Couldn't match type ‘EntityField Entry’ with ‘S.SqlExpr’ [...] • Couldn't match type ‘S.SqlExpr’ with ‘EntityField Entry’ [...] • Couldn't match type ‘S.OrderBy’ with ‘Key Entry’ [...]
Alexander
o/
kosc
Утра вам всем.
Alexander
Утро
Alexander
@lightgreen а разве asc`/`desc в S.orderBy не надо?
Alexander
asc :: PersistField a => expr (Value a) -> expr OrderBy
Alexander
orderBy :: [expr OrderBy] -> query () а у EntryId тип врятли подходящий
Alexander
кстати иногда бесит в persistent/esquileto что Id отделен от сущности
Alexander
впрочем в persistent все бесит, esqueleto хоть чуть-чуть исправляет его
Alexander
уже можно?
Alexander
раньше EntityId и EntityValue (или как его там) отдельно жили без способов конвертнуть нормально
Alexander
впрочем это не делает Persistent не ужасным
Cheese
во-первых, есть Entity, если ты просто хочешь иметь их вместе
Cheese
для всего остального https://github.com/yesodweb/persistent/blob/master/docs/Persistent-entity-syntax.md#change-tablecollection-key-definition-field-name-andor-type-persistent--21
Aleksei (astynax)
> yesodweb/persistent звучит как "вебчик на Йесоде - вечен!"
Alexander
@cblp_su я могу передать EntityId в параметр где ждут одно из полей из EntityValue?
Alexander
во всякие order by и т.п.
Cheese
@cblp_su я могу передать EntityId в параметр где ждут одно из полей из EntityValue?
по-моему, в каждом первом примере это есть. или я не понял вопрос
Alexander
много лет назад с этим были проблемы
Alexander
не знаю как сейчас, впрочем, я реально не вижу ни одной причины почему может хотеться использовать persistent
Alexander
могу понять esqueleto, и то с струдом
Cheese
у меня причины две — Персистент умеет всё, что мне нужно (на начальном этапе развития проекта), и я его уже знаю
Alexander
так он join-ы то уже научился делать не только на 2 таблицы?
Cheese
джойны не нужны в начале развития моих проектов
Alexander
а, ок
Alexander
глобально то у меня вопрос нафига вообще всякие proxy между разными базами, когда sql не переносим между разными серверами
Alexander
кроме узкого сабсета
Cheese
когда понадобятся, пойду в чатик ruHaskell/forall и спрошу, как это делать
Alexander
я когда делал цитатник намучался с персистентом
Cheese
через прокси/адаптер можно абстрагировать довольно широкий сабсет
Cheese
в теории
Alexander
вроде элементарная штука, но и он покрывал 80% запросов, но даже там raw sql queries мне надо было делать
Alexander
не помню как в персистенте оно звалось