Leonid 🦇
а пишут ли такой код?
A64m
понятно что на бекпаке можно сделать вектор вообще по другому, и соотвественно все пользователи вектора типа вектор алгоритмс будут параметризованными, это даже поэффективнее будет, но неудобно же
Leonid 🦇
ну вот вектор алгоритмс только для MVector же
Leonid 🦇
а, понял
A64m
потому что тяжеловесно, а для тайпклассов все само работает, словарики подставляет
A64m
даже эмельные модули для такого много ручного труда требуют
A64m
а тут вообще адище какое-то (но потенциально можно сильно улучшить, тем более что миксины, всего этого эмельного ехал функтор через функтор не надо)
Alexander
я понимаю что это неуместный канал, но как в питоне принято делать dependency injection/global state?
Aleksei (astynax)
используй мою либу, лол :)
Alexander
какую?
Aleksei (astynax)
https://github.com/astynax/yadic
Alexander
вообще я хочу очень малого у меня в модуче Bla.stdlib есть фунция def blabla(name):
Alexander
мне нужно чтобы у неё был доступ к окружению (aka Reader) в котором пара констант определены
Alexander
то чтобы не было доп параметров у функции и она не была куском объекта
Alexander
само же окружение определяется на момент старта программы
Alexander
(это интерпретатор если что)
Aleksei (astynax)
ну ты можешь ещё искать выше по стэку во фреймах :)
Aleksei (astynax)
Так делают магический request во фреймворке Flask
Alexander
жуть какая
Vasiliy
просто глобальная переменная на уровне модуля, не?
Aleksei (astynax)
Глобальная переменная, это несейфно
Aleksei (astynax)
Надо тогда thread locals юзать
Alexander
она не уровня модуля, ну я могу специально обученный модуль сделать и импортировать везде где надо
Alexander
тредов нету, гарантировано
Alexander
а если есть, то ссзб и оно не будет работать на других уровнях
Aleksei (astynax)
Специально обученный модуль, это класс со статическими методами
Aleksei (astynax)
Но в твоём конкретном случае просто модуль с переменной глобальной - норм
Alexander
ну я думаю сделать модуль + пару методов
Alexander
спасибо
Leonid 🦇
https://www.stackage.org/lts-10.0 ну всё, теперь точно можно 8.2
Зигохистоморфный
Denis
по-моему в stackage lts значит чуть менее, чем ничего
A64m
немного не смогли до 8.4 дотянуть (на самом деле много, конечно, вовремя он не выйдет)
Leonid 🦇
это значит что peti его сделает основным в nixpkgs
Leonid 🦇
ну я бы не брал х.у.1 версию ГХЦ в лонг тёрм
A64m
но он же не лонгтерм
Leonid 🦇
лонгтёрм снапшот
Alexander
+
A64m
ну так он раз в три месяца выходит, бывает чаще, можно было для 1 сделать, когда 2 выходит как раз уже новый "lts" пора
A64m
это значит что peti его сделает основным в nixpkgs
я удивился, кстати, когда поставил никс и он мне установил ghc 8.0
A64m
я думал там блидин эдж все
Alexander
можешь любой поставить
A64m
да понятно, я про то, когда версию никак не указываешь
Denis
блидинг эдж не просто так называется именно так
Denis
его когда используешь, начинаешь кровоточить
Leonid 🦇
а потом тебе отрезают руки и ты живешь в пузыре биткоина
Leonid 🦇
так, это была шутка из другого канала
Leonid 🦇
peti посылает к чёрту LTS https://github.com/NixOS/nixpkgs/issues/29791
Leonid 🦇
и с этим отмирают всякие мутные intero
A64m
но почему 8.0._1_ ?
Vladislav
Кто в DependentHaskell что-то понимает? https://www.reddit.com/r/haskell/comments/7kt6ir/why_is_system_dc_needed_for_dependenthaskell/
A64m
это же глюкодром адовый
Vladislav
Вопрос вот возник.
Alexander
> Cool, then let's turn to media reports then such as https://techcrunch.com/2017/07/31/github-goes-down-and-takes-developer-productivity-with-it/ do you have one for git.haskell.org going down?
A64m
в DC вроде новые семейства, но я в депендент хаскеле точно разбираюсь хуже @int_index так что врятли тут что-то ценное скажу
Alexander
я вообще не разбираюсь, но с ДЦ тайплевел лямбды уже можно?
Leonid 🦇
@A64m_qb0 народ требует вернуть, без него у них LTSnapshot не работает
Alexander
раньше вот в никсе никакие снапшотов не надо было
A64m
я вообще не разбираюсь, но с ДЦ тайплевел лямбды уже можно?
там два вида стрелок на тайплевеле. В старых нельзя точно
Leonid 🦇
раньше они все были в никсе, потом слава богу peti их грохнул. Правда полыхало тогда будь здоров
Dmitry
Может ли кто-то помочь с https://stackoverflow.com/questions/47889770/standard-haskell-function-to-expand-environment-variables ?
Alexander
стандартной не видел, но самому писать вроде ж не долго
Влод
типа прочитать echo? (наверное мне должно быть стыдно такого не знать)
Dmitry
стандартной не видел, но самому писать вроде ж не долго
Реализация на питоне под винду: https://github.com/python/cpython/blob/master/Lib/ntpath.py#L336
Влод
да это определённо не просто
Alexander
вызвать echo сработает кстати
Alexander
но я постеснялся это предлагать
Anonymous
небезопасно
Влод
я думаю человек пишет одноразовый скрипт
Влод
хотя определённо некрасиво через echo – язык чувствуется неполноценным. но так всегда когда пытаешься с питона на хаскель перенести
Anonymous
я думаю человек пишет одноразовый скрипт
я думаю что это не имеет значения в контексте того вопроса
Leonid 🦇
ага, найди мне /bin/echo на nixos
Leonid 🦇
вот так /bin/sh -c 'echo $foo'
Denis
никто еще нормальные мультиплатформенный FilePath не придумал, а вы тут еще выше взяли
Alexander
ststem-filepath
Alexander
но он его задепрекейтил
Leonid 🦇
он жуткий
Anonymous
я