IC
облегчают, да
IC
в recursion-schemes есть дерайвилка базового функтора для cata. но катаморфизм это самый скучный сценарий использования фиксов
IC
cata :: (Base t a -> a) -> t -> a
Зигохистоморфный
и?
IC
дерайвишь базовый функтор, ката работает с ним
Зигохистоморфный
cata полиморфная
Зигохистоморфный
так что тут ты не прав) нет дерайвилки для ката
Aliester
Aliester
тут случайно не будет бесконечной рекурсии?
Ю ли я? 🤔
Вроде нет, shadowing же
a66ath
Кто в англочате настоящий иностранец?
A64m
Курт Семпсон
a66ath
Он там один такой?
a66ath
А Yasuaki бурят штоле?
A64m
Кудо Ясуаки еще
Alexander
Николас Кларке англичанин
Alexander
Кларк
Leonid 🦇
https://github.com/typeable/stackage2nix/wiki/stackage2nix-1.0#stack2nix-codename продолжает игнорировать сущетсвование https://github.com/input-output-hk/stack2nix
Alexander
первый появился раньше второго
Alexander
непонятно почему он должен не игнорировать второй
Alexander
кстати, почему Serokell не было на ZuriHac
Alexander
бейджики под них были
Leonid 🦇
у меня вопрос к именованию
Leonid 🦇
и так уже nix-deploy три десятка
кана
fix - тоже не замена встроенной в язык рекурсии
кана
fix - анонимная рекурсия Compose - бесплатная композиция двух любых функторов
Leonid 🦇
http://hackage.haskell.org/package/servant-dhall ну всё
Anatolii
вот да фак
Anatolii
зачем это делать?
Denis
http://hackage.haskell.org/package/servant-dhall ну всё
я тут натурально пальцем у виска кручу
Евгений
Надо посмотреть на этот ваш дхулл. Раз его все ненавидят, значит в нём что-то естт
Denis
не все ненавидят, видишь ведь какую мазафаку творят
A64m
1) нарабатываешь репутацию годами 2) делаешь популярным в узких кругах самый страшный типизированный язык для описания конфигов, какой только можешь придумать 3) ???
Denis
4) пригорело
Timofey
Я тут мучаю http://hackage.haskell.org/package/algebraic-graphs-0.1.1.1. Я правильно понимаю, что в этой либе есть стопицот способов состряпать _новый_ граф и ни одного способа сделать запрос "дай мне список вершин, достижимых из данной"?
Andrei
но типизированный язык для конфигов всё-таки нужен, так?
A64m
да, в этом и проблема
Евгений
Можно юзать агду
Andrei
и альтернатив Dhall на текущий момент таки нет?
Denis
нужен нормальный валидатор для конфигов
Denis
часто этого достаточно
A64m
Я тут мучаю http://hackage.haskell.org/package/algebraic-graphs-0.1.1.1. Я правильно понимаю, что в этой либе есть стопицот способов состряпать _новый_ граф и ни одного способа сделать запрос "дай мне список вершин, достижимых из данной"?
это вроде такглесс-файнл дсл для описания графов, его по идее надо использовать с бекендом - графовой библиотекой, в которой такие алгоритмы есть
Евгений
Пока выглядит как никс
Евгений
https://hackage.haskell.org/package/dhall-1.14.0/docs/Dhall-Tutorial.html
Евгений
Никс ебанутый, конечно, но привычный
A64m
ну, он вроде не такой страшный как никс
Timofey
на местном митапе как-то парень один рассказывал про попытки типизировать никс.
Timofey
Было забавно
Anatolii
так даже деньги собрали на это дело
Andrei
Можно юзать агду
только раскладку сначала запилить со значками и наклейки на клавиатуру наклеить
Евгений
Vladimir
А наклейки-то зачем?
Timofey
это вроде такглесс-файнл дсл для описания графов, его по идее надо использовать с бекендом - графовой библиотекой, в которой такие алгоритмы есть
понятно, спасибо. Просто это была единственная либа, в которой вершины графа - не инты, а произвольные типы с вменяемыми ограничениями (Eq, Ord, Show)
A64m
как это единственная?
Cheese
это вроде такглесс-файнл дсл для описания графов, его по идее надо использовать с бекендом - графовой библиотекой, в которой такие алгоритмы есть
не нужен отдельный бэкенд λ> :m + Algebra.Graph λ> vertices [1, 2] * vertices [3, 4] Connect (Overlay (Vertex 1) (Vertex 2)) (Overlay (Vertex 3) (Vertex 4))
Andrei
https://hackage.haskell.org/package/dhall-1.14.0/docs/Dhall-Tutorial.html
выглядит примерно так: “типы, угу. импорты… угу, надо… стоп, IPFS?! …списки, optionals угу… о, records! функции… функции?! WHY.jpg?!”
A64m
тот же граф в контейнерах при построении возвращает же функцию которая дает узел по этому инту
Cheese
нужен
почему у меня работает без отдельного?
Timofey
как это единственная?
fgl - там инты, containers - тоже
Timofey
как это единственная?
если я что-то пропустил из популярных либ - я только буду рад
Andrei
Ну, как в никсе же
если оно на nix 1в1 мапится, надо брать. в никс.
A64m
если я что-то пропустил из популярных либ - я только буду рад
тот же граф в контейнерах при построении возвращает же функцию которая дает узел по этому инту
Евгений
Ну, вряд ж мапится
Cheese
что работает-то?
работа с графами, используя только эту библиотеку
A64m
и какие там алгоритмы есть, используюшие только эту библиотеку?
Cheese
начальный вопрос был про получение смежных вершин, эта операция есть
A64m
достижимых же
Timofey
тот же граф в контейнерах при построении возвращает же функцию которая дает узел по этому инту
да, похоже, я слишком бегло прочитал доки на хакадже. Теперь там надо научиться мерджить два графа=)
Timofey
начальный вопрос был про получение смежных вершин, эта операция есть
Мне надо достижимые со всеми возможными путями до них. через adjacency matrix руками это я делать не хочу
Cheese
достижимых же
да, неправильно прочитал. но всё равно там не один DSL, с ним несколько конкретных представлений. алгоритмов почти нет.
A64m
это не практичные инстансы для которых какие-то алгоритмы на графах есть, а аст, несколько интерпретаторов и прочие демонстрационные имплементации из статьи, вроде той что на интмапах
A64m
интересно, что для графа из контейнеров вроде инстанса нет, хотя контейнеры все равно в зависимостях