Зигохистоморфный
а того что и RoseTree тоже надо выразить через Fix
кана
а зачем?
кана
костяк решения в ане
кана
в ане RoseTreeF вообще никак не затронется
Зигохистоморфный
ок, пусть будет так) но ана не будет работать)
Ilya
Зигохистоморфный
хочешь сложнее?)
hylo вот тут и RoseTreeF и ListF
хочу чтобы генерило дерево и переводило список
(вот просто хочется)
Ilya
Ilya
Снова нужно выбрать, TreeF или ListF у нас, но не оба
Ilya
Нужна функция с констрейнтом (Functor f, Functor g), если хочется сразу два функтора чтоб "работали"
Ilya
Наверное в recursion-schemes есть что-нибудь такое, но я в этом пакете не шарю
Ilya
Ilya
Сергей
Если задание - про преобразование RoseTree = Fix RoseTreeF в список, то скорее это сворачивание cats, а не ana. Не?
Сергей
cata*
Зигохистоморфный
это если базовый функтор одинаков, то да, можно все через рефикс делать
например
list1 -> list2
churchList -> list
Зигохистоморфный
Зигохистоморфный
@Masteroid вот тут у них общий базовый функтор
https://github.com/xgrommx/purescript-experiments/blob/master/src/Main.purs#L46
Зигохистоморфный
https://github.com/xgrommx/purescript-experiments/blob/master/src/Peano3.purs#L10
https://github.com/xgrommx/purescript-experiments/blob/master/src/NaturalC.purs#L32
Зигохистоморфный
Зигохистоморфный
естественное преобразование for free
Ilya
Сергей
Так, значит розовое дерево не разворачивается с помощью ana в список Fix ListF потому что теряется вершинный элемент.
Ilya
Ой а я тоже задачку вспомнил, раз пошла такая пьянка
Сергей
Или наоборот, всё кроме вершинного
Ilya
Сверните через cata дерево в список: 1) обойдя дерево в глубину (ин-ордер, например) 2) обойдя в ширину (левел-ордер)
Зигохистоморфный
Ilya
Зигохистоморфный
Ilya
Зигохистоморфный
какая-нибудь хисто уже
Ilya
Катой не получится
Зигохистоморфный
а дерево то какое кстати?)
Ilya
То же самое, Tree a = Node a [Tree a]
A64m
Комитет: ну что, вот тут и тут поправить в описании и принимаем!
Iavor Diatchki: ну я не знаю, я на необитаемом острове с одним телефоном, смогу ли я поправить что-то на гитхабе?
Iavor Diatchki комментирует другой пропозал на гитхабе, все больше ничего не делает.
Oleg
А что известно про SequentCore? Из него вытащили join points и больше развивать не будут?
A64m
ну, в гхц не будут, видимо
Oleg
А линтипы хотят своё ядро?
Oleg
И как они будут взаимодействовать с Dependent?
A64m
у меня недостаточная компетенция в этом вопросе, но, как я понял, у эйзенберга особых ожиданий каких-то проблем со взаимодействием нет
Oleg
интересно
Alexander
неизвестно
Alexander
насколько я знаю, как-то будут
Зигохистоморфный
как же все это угрюмо выглядит
https://github.com/Engelberg/instaparse/blob/master/src/instaparse/abnf.cljc
Андрей
угрюмо?
Dmitry
Подскажите, а как продублировать функции из data, добавив к ним префиксы?
Вот у меня есть data Session = Session { user :: User, app :: App, node :: Node }, а мне надо автоматически сгенерировать ещё три функции:
test_user = user
test_app = app
test_node = node
Это через Template Haskell надо, или другие какие-то способы есть?
a66ath
Линзы изобретаешь?
Dmitry
Ну почти, да
Dmitry
Уже читаю makeLenses
Dmitry
Но не совсем
Dmitry
Есть скрытая в основном приложении структура, а мне надо написать тесты, которые всё-таки могут в состояние структуры заглянуть.
Dmitry
Вот и думаю, как лучше сделать, по минимуму переделывая основной код...
Dmitry
Т.е. мне нужно просто getter'ы со своими именами сделать, вот и всё.
A64m
Internal модуль в котором ничего не скрыто
Dmitry
Да, лучшее решение, но не знаю, согласится ли майнтейнер модуля.
Андрей
Народ, а возможно написать язык, само собой на хаскеле, который использует сборщик мусора самого хаскеля?
Андрей
Хреново вопрос задал конечно
Maxim
Можно транслировать в промежуточное представление хаскеля (ghc core или вообще c--) и это уже запускать
Но по возможностям все равно хаскель и получится
Андрей
Хм, я пока думал только про интерпретаторы
Андрей
И залип на том, что в языке с переменными, да вообще с любыми изменяемыми абстракциями есть куча кейсов, когда гц хаскеля не знает, что пора что-то почистить
Андрей
Наверно возможно только какой-то query language написать
Maxim
Так может не надо писать язык с изменяемыми переменными, пытаясь засунуть в него Гц от хаскеля?)
Maxim
Можешь попробовать jvm байт код генерировать (хоть на хаскеле), будет их гц
Андрей
Да я писать собсно не собираюсь пока, только думаю много про это)
Андрей
А мысль это пришла из-за того, что вроде вообще нет интерпретаторов, которые используют чужой гу
Андрей
Гц’
Kirill
Андрей
?
Kirill
интерпретатор, который использует "чужой" (относительно кода, который ты передал) ГЦ (если я правильно тебя понял)
Андрей
Не понял ты меня
Андрей
Вообще я мог уже задавать этот вопрос тут, не первый раз им задаюсь
Андрей
Тогда другой вопрос, насколько сильно сборщики мусора завязаны на язык?
Kirill
Kirill
а могут быть очень, см. эрланг (хотя та под BEAM есть как минимум элексир)
Anonymous
@qweeze будет жить. Поприветствуем!
A64m
A64m
A64m
вообще не понимаю в чем сложности