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.)
какой в этом смысл, количество полей ограничено и точно вряд ли выйдет в число около сотни, какой смысл тут делать оптимизацию, не лучше ли тут сделать удобно для программиста и делать линейно в виде связаного списка
Artem
кана
https://hackage.haskell.org/package/base-4.11.0.0/docs/src/GHC.Generics.html#line-254
Kirill
Как в хаскеле плагинную архитектуру запилить?
Anonymous
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
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
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
Alexander
просто может туда отписаться про experience и т.п.
Alexander
(я не знаю имеет ли смысл или нет)
Cheese
спасибо
Alexander
Alexander
наверное, @IIvana же 1c программист
Alexander
Точно, в заголовке написано
кана
вижу в base, что там для U1 Eq/Ord/Show объявляются вручную (чуть выше для многих классов выводится)
мне стали интересны причины, я попробовал сдерайвить и посмореть результат
есть ли тут разница?
Cheese
а можно ли как-нибудь совместить количество бойлерплэйта QuickCheck и красоту отчётов Hedgehog?
кана
хм, да, в принципе есть, боттом же в первом тоже пройдет
Quet
чтобы было бойлерплейта как в hedgehog и выглядело как quickcheck? )
A64m
Cheese
Cheese
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
прототипировать надо на Скретче и импортировать потом в асемблер