agr

одолел, короче, эту ботву с базой пакетов. есть замечательный пакет ghc-paths. в нём пути к тулам определяются через переменные окружения, например, GHC_PACKAGE_PATH.
cabal-install, ghc и ghc-pkg растут и развиваются. и тут приходит стэк и начинает переписывать переменные окружения, т.к. у него есть минимум 2 базы пакетов (от снапшота, компилятора) в ~/.stack. ещё есть ~/.../.stack-work. там тоже есть, да. по ходу дела во время билда stack делает своё страшное дело и затирает HASKELL_SANDBOX_CONFIG, устанавливая его в базу пакетов снэпшота (!). вот это вообще ни разу не тривиально. я думал, что "песочница" — это база локальная, из .stack-work. а оказалось, что нет. снэпшот — это песочница. таким образом, все extra-deps, которые кладутся в .stack-work, остаются не удел и не видны.

придумал вообще рабочий костыль.
если вижу в пути ".stack", то пускаю "stack exec — ", иначе — оставляю значение из ghc-paths (либо дефолтное).

agr

самая боль — рисовать клиента для отображения метамодели на страницу на Fay. GHCJS неохота тащить на сайт, слишком уж он жирный (GHCJS).. вчера сел и по-честному написал, что я хочу от Fay, чтобы мне не было больно.. и спустя два часа вырисовался план. так можно убить сразу двух зайцев..

— JQuery и иже с ним уйдут (но постепенно.. я успел на свою беду наговнокодить три ведра дерьма, придётся взять лопату и убрать за собой).
— код клиента облегчится в N раз (останутся только транспорт и протоколы, inspired by N2O)
— появится серверный рендеринг всей динамической шляпы..

за сегодня написал транспорт в приемлемом виде..

agr

11 отказов с кодом 405. вообще странно, отдельно взятый браузер от яндекса. но конкретно в этом случае ему спасибо. бот пришёл ко мне от него с этой ошибкой.. полез воспроизводить — столкнулся с бесконечным циклом и too many redirects. пофиксил, да. выводы: нужна документация, слишком много условий, созданных в разное время.. глаза разбегаются..

agr

теперь бы привязок шаблонов к типам наделать, чтобы на основе типа данных по связанному с ним темплейту из базы вместе генерить динамическую страницу, всё равно всем показывай гриды да фильтры. с метамоделькой вроде как к простоте дизайн этого динамического дерьма приходит.

agr

Решил, наконец, поиграться в метамодельки. Веселье заключается в том, что каждому рекорду соответствует ещё его метадата. В связи с чем, возникает хороший вопрос... Допустим, у меня есть тип данных A с именем объекта (aName) и ещё 8 рекордами (aParam1 .. aParam8). Поскольку я помимо данных из базы тяну ещё и метаданные, по которым их идентифицировать, и не люблю ддосить базу, то мне надо вытащить за раз одним селектом 19 полей (имя, идентификатор и тип объекта (3) + параметр и его айдишник x 8 (16)) из базы. Persistent со своим RawSql отваливается на подступах с 8 колонками.

postgresql-query потянет? или что-т другое?