Alexander
но если до этого дойдешь, то увидишь
Alexander
на там он инлайнит бывает слишком много, файл раздувает и все тормозит
Oleg
У Array приколько, что можно всякими тюплами и енумами индексить на автомате
Oleg
Полезно, наверное, только в олимпиадках
Alexander
главное что тот же самый Ix можно и с вектором использовать
Alexander
чуть больше бойлерплейта только
Зигохистоморфный
https://128.84.21.199/pdf/1805.06798.pdf
Cheese
оффтопик
NC
@qnikst, я уже раз 10 перепроверил, но похоже в мастере network-transport-tcp лежит не та версия, что на хакадж загружена. https://github.com/haskell-distributed/network-transport-tcp/blob/master/src/Network/Transport/TCP.hs#L577
Alexander
так, пни вечером, я сейчас уезжаю, мне казалось что Факундо выкладывал последнюю
NC
оок
Alexander
вообще у наших есть дурацкая привычка бампать версию перед релизом
Alexander
что несказанно бесит
кана
я не могу придумать этому адекватное имя
bind хех ну и концептуально это он и есть "поле зависит от результата чтения другого поля"
R
/stat@combot
Combot
combot.org/chat/-1001043143583
Ilya
А нет расширения для dict comprehension, чтоб как в питоне можно было?
Oleg
fromList [ (k,v) | ...]
Cheese
с OverloadedLists можно будет убрать одно слово
Cheese
с OverloadedLists можно будет убрать одно слово
но сломается что-нибудь ещё
Ilya
fromList [ (k,v) | ...]
ну да, и ещё внутри часто будет нужен toList или keys... А так конечно можно
Cheese
ещё можно написать функцию (-:) = (,), чтобы спрятать скобки [k1 -: v1, k2 -: v2]
IC
неприличный значок, не пройдёт ревью
Все будут думать, что это кусок пролога?
Oleg
скажут, что скалист ещё
Ilya
придумай любой другой
вот такой можно ещё λ> fromList [1 ~> 1, 2 ~> 4, 3 ~> 9] fromList [(1,1),(2,4),(3,9)]
Anonymous
Wait, натуральная трансформация из 1 в 2?
Oleg
знать бы ещё, что за функтор такой 2
Oleg
по аналогии это должно быть 1 + 1
Oleg
типа data 2 a = 2 Bool a
Ilya
^ опять ботаны шутят... А я тем временем добавил короткий алиас для fromList, и получилась вообще красота dct [1 ~> 1, 2 ~> 4, 3 ~> 9]
Anonymous
Почему не dict?
Oleg
Ilya
можно вообще d
Cheese
а если pattern a :- b = (a, b) то ещё и в обратную сторону будет работать
IC
что у нас нынче с сабтайпингом? open-union адо брать, vinyl или ещё что-то?
Alexander
от Влада норм пакет был, винил тоже норм только тормозной
IC
как найти на хакадже "от влада"?
Alexander
там все пакеты автора есть
IC
ещё бы знать какому из авторов соответствует влад.. протыкал в общем списке четырёх и не нашёл
Maxim
https://hackage.haskell.org/user/int_index
Антон
что у нас нынче с сабтайпингом? open-union адо брать, vinyl или ещё что-то?
А самому по принципу data types a la carte не подходит?
Alexander
есть либы с ними, но они были с адским апи
Alexander
что черт ногу сломит
Alexander
https://hackage.haskell.org/package/union
Alexander
этот пакет
Антон
есть либы с ними, но они были с адским апи
Апкаст с обязательными декларациями типа?
Alexander
но это не совсем сабтайпинг, сабтайпинг по структуре это все же винил и товарищи
Alexander
я вообще не осилил нормально что-либо с ним писать
Alexander
нужно 2 мозга иметь
Зигохистоморфный
https://github.com/target/row-types/
Антон
https://hackage.haskell.org/package/union
Выглядит дико. И потом, в Хаскелле разве есть type universe?
Alexander
а ещё гист от клапауций есть (на имплиситах)
Alexander
Выглядит дико. И потом, в Хаскелле разве есть type universe?
вроде вполне стандартное решение; а/что/где type universe
Антон
вроде вполне стандартное решение; а/что/где type universe
Из доки: A union is parameterized by a universe u, an interpretation f and a list of labels as
Alexander
необновленные доки?
Alexander
u - кайнд
Alexander
as :: [u]
Alexander
universe тут в этом смысле
Yura
кстати вопрос - чем чревато, что nix-build собирается с одной версией cabal а в nix-shell запускается с другой?
Yura
не снесет ли от этого крышу ghc-mod или еще чему-то похожему?
IC
А самому по принципу data types a la carte не подходит?
это мысля... а готовой реализации :+:, `⊗`и прочих нет?
Зигохистоморфный
хаскелю бы Variant/VariantF как в пурсе
Зигохистоморфный
ну и рекорды как в пурсе)
Антон
ну и рекорды как в пурсе)
С FieldNamePuns, что ли?
Зигохистоморфный
кана
ну тогда бы сам row polymorphism, если он конечно так уж сильно нужен
Зигохистоморфный
Антон
есть еще compstrat
Тупо нагуглил
Зигохистоморфный
кана
вроде как он полноценно эмулируется через тайплевел-списки с семействами для констрейта на поиск мебмера
Зигохистоморфный
Тупо нагуглил
есть презентация от типа, что написал compstrat