kosc
Я бы тоже.
кана
-- As ':+:' and ':*:' are just binary operators, one might ask what happens if the -- datatype has more than two constructors, or a constructor with more than two -- fields. The answer is simple: the operators are used several times, to combine -- all the constructors and fields as needed. However, users /should not rely on -- a specific nesting strategy/ for ':+:' and ':*:' being used. The compiler is -- free to choose any nesting it prefers. (In practice, the current implementation -- tries to produce a more-or-less balanced nesting, so that the traversal of -- the structure of the datatype from the root to a particular component can be -- performed in logarithmic rather than linear time.) какой в этом смысл, количество полей ограничено и точно вряд ли выйдет в число около сотни, какой смысл тут делать оптимизацию, не лучше ли тут сделать удобно для программиста и делать линейно в виде связаного списка
кана
https://hackage.haskell.org/package/base-4.11.0.0/docs/src/GHC.Generics.html#line-254
Kirill
Как в хаскеле плагинную архитектуру запилить?
Kirill
А если плагины в рантайме тянуть?
Kirill
http://hackage.haskell.org/package/plugins
Kirill
О, пасиб буду раскуривать
Kirill
ещё у семёна из свежего http://simonmar.github.io/posts/2017-10-17-hotswapping-haskell.html
Cheese
код = данные — это идея не лисперов, а Ноймана
Alexander
код это лава
Aliester
код это кровь в наших венах
PsyDebug
код = данные — это идея не лисперов, а Ноймана
ну не буквально так, но сверхабстрация, да.
Cheese
код это кровь в наших венах
рррраскаляя сердца!
Kirill
ещё у семёна из свежего http://simonmar.github.io/posts/2017-10-17-hotswapping-haskell.html
настолько рантайм мне не надо) но спасибо
Kirill
http://hackage.haskell.org/package/plugins
А чего-то что не тащит весь ghc в рантайм нет? Мне по сути нужен dlopen сёвый
Alexander
оно ж не тащит весь ghc в рантайм :/
Kirill
судя по зависимостям - тащит
Kirill
а стоп
Kirill
может я туплю просто
A64m
plugins же тащит
Alexander
https://hackage.haskell.org/package/unix-2.7.2.2/docs/System-Posix-DynamicLinker.html
Alexander
если что есть
Kirill
нет, не туплю - тащит
Kirill
https://hackage.haskell.org/package/unix-2.7.2.2/docs/System-Posix-DynamicLinker.html
да, это увидел, но уж очень лоулевел
Denis
ghc как библиотеку для плагинов тащит
Alexander
ну plugins - чуть больше
A64m
а без развернутого на машине рабочего окружения для хаскеля то он хоть работает? (hint - нет)
Alexander
plugins -он же интерфесы и т.п. смотрит и packagedb?
A64m
я им не пользовался, потому и спрашиваю
Kirill
Кажись нашёл что-то похожее на то, что нужно: https://hackage.haskell.org/package/dynamic-loader
Denis
Друзья, когда в описании модуля я вижу Stability : stable - какой именно смысл вкладывается в это?
Denis
что компилируется без единого ворнинга? что нет райнтайм-багов? что код покрыт тестами, которые все проходят?
A64m
ну, автор хочет показать, что он не экспериментальный и только, так что нет, нет и нет
Denis
😂
Denis
понял, спасибо
Denis
а то часто вижу это в разных либах
Alexander
https://www.youtube.com/watch?v=emj-p49p4bc&feature=youtu.be во какая штука по ютубам ходит
Alexander
@cblp_su [Haskell-cafe] I am interested in doing Offline mode for Stack as GSoC 2018 project
Alexander
в hafe
Leonid 🦇
ну почему http-client такой дубовый
Cheese
@cblp_su [Haskell-cafe] I am interested in doing Offline mode for Stack as GSoC 2018 project
мы решили не делать это средствами stack
Cheese
мы решили не делать это средствами stack
завели себе Артифактори и настроили кастомный снапшот stack
Alexander
просто может туда отписаться про experience и т.п.
Alexander
(я не знаю имеет ли смысл или нет)
Cheese
спасибо
Alexander
https://www.youtube.com/watch?v=emj-p49p4bc&feature=youtu.be во какая штука по ютубам ходит
Так. Я открыл трансляцию и увидел 1С. Это так и задумано?
Alexander
наверное, @IIvana же 1c программист
Alexander
Точно, в заголовке написано
кана
вижу в base, что там для U1 Eq/Ord/Show объявляются вручную (чуть выше для многих классов выводится) мне стали интересны причины, я попробовал сдерайвить и посмореть результат есть ли тут разница?
Cheese
а можно ли как-нибудь совместить количество бойлерплэйта QuickCheck и красоту отчётов Hedgehog?
кана
хм, да, в принципе есть, боттом же в первом тоже пройдет
Quet
чтобы было бойлерплейта как в hedgehog и выглядело как quickcheck? )
A64m
а можно ли как-нибудь совместить количество бойлерплэйта QuickCheck и красоту отчётов Hedgehog?
написать тайпкласс и инстансы которые по типам ежовые комбинаторы комбинируют?
A64m
он, наверное, тогда минифицировать контрпримеры не сможет, нет?
Alexander
case foo ^. bar of X -> pure () ; _ -> Left "Bad foo" как с линзами хорошо написать?
Alexander
для foo можно генирть поля призмы линзы и все прочее
Leonid 🦇
ну почему servant-auth берет JWK а не JWKSet? опять всё переписывать
Leonid 🦇
вот всё так в хаскеле
кана
ох уж эти типы
Alexander
а вот не было бы типов
Alexander
и было бы все хорошо
Alexander
может раже сработало бы
кана
главное что ошибок типов бы не было то есть ошибок было бы меньше
Alexander
действительно!
Alexander
я не думал с этой стороны
Leonid 🦇
Ну почему всё так плохо :(
Leonid 🦇
Дайте-ка я расширю Auth своим методом - а вот хрена лысого, нужные классы не экспортируем
Leonid 🦇
лучше бы я на питоне писал. там мне бы джанго всё сама сделала
Alexander
что там не экспортировано?
Leonid 🦇
https://github.com/haskell-servant/servant-auth/blob/master/servant-auth-swagger/src/Servant/Auth/Swagger.hs#L38 ну вот это хотя-бы. Нет, я конечно форкну и пулл-реквест сделаю.
Leonid 🦇
но вот прототипировать на хаскеле нельзя
Leonid 🦇
кругом засада
Кабачок
Прототипировать надо на лиспе, а потом из лиспа генерить хаскель
Aliester
да вы извращенец
Leonid 🦇
а что, в вашем лиспе больше либ готовых к продакшену?
Aliester
прототипировать надо на Скретче и импортировать потом в асемблер