Alexander
да это опять jose
кана
а для этого нужно наложить констрейт на эта-редуцированную переменную
Alexander
там недолинзы
Alexander
Lens lala (Maybe roror)
A64m
но я не удивлюсь, если сущестует похожий нормальный способ сообщение об ошибке к Maybe приделывать, я просто его не знаю/не помню
Alexander
написал как-то
Alexander
в errors было ??
Alexander
но там оно к EitherT привязано
Alexander
можно ещё в .to(maybe ..) завернуть
A64m
Lens lala (Maybe roror)
это вообще не линзы, зачем они такой ужас делают, там же наверняка где-то потом можнго нарваться на проблемы из-за беззаконности
Alexander
я могу высказать предположение
Alexander
но оно будет непопулярным
Alexander
сейчас сформулирую как-нибудь похуже
Alexander
дело в том, что сейчас модно писать хорошие хаддоки
Alexander
с примерами и т.п.
Alexander
так вот, апи используется автором только в примере
Alexander
базовом
Alexander
а так не используется
Alexander
и все плевать, что там работает, а что нету, за мелким юзкейсом
Ilya
ссылка выше, только там пост старый, так что EitherT вместо ExceptT
Можно ещё сделать через Alternative. Монада та же самая, ExceptT. Только теперь throwError будет использоваться не как break, а наоборот как continue. loop :: ExceptT () (State Int) () loop = msum $ repeat $ do modify succ st <- get when (st < 10) $ throwError () λ> execState (runExceptT loop) 0 10
кана
это то понятно
data MonadF f g a where DoneM :: a -> MonadF f g a MoreM :: Functor (->) f => f (g a) -> MonadF f g a часть проблемы решается gadt
кана
осталось только решить ее в ~>
кана
как вариант - повесить на ~> констрейт тоже
A64m
только вот я подозреваю, что гонзалес зря топит против континьюэйшонов, на них быстрее из циклов выходить, что, когда дело с циклами имеем, довольно важно обычно
A64m
(подозреваю в том числе, что быстрее, сам я не проверял)
Alexander
++
Alexander
а ещё бесит что в jose все криптография в EitherT IO
Alexander
как-то уж крестик или трусы
Alexander
в итоге и композится криво и 100400 функций вокруг, чтобы все скомпоновать
Kirill
@qnikst а для сишки же вроде c2hs был самым внятным?
Alexander
hsc2hs + inline-c
Alexander
ну или просто hsc2hs + расширение для FFI
Kirill
т.е. c2hs так себе? в генте из-за него xmonad-extras протух прост, ну ок
Alexander
там багм
Alexander
баги вечные
Kirill
ха, оказалось, что баг c2hs лечится апгрейдом GCC до семёрки...
Anonymous
@stsgu будет жить. Поприветствуем!
Anonymous
@Dim_As_YP будет жить. Поприветствуем!
Maxim
Неужели они опять
A64m
What's the consensus on Unicode symbols these days? 53 комментария
Dmitry
На китайском?
A64m
фича гхц за которую я так переживал, только начала себя оправдывать, а ее уже хотят опять откатить Constant folding optimises 1 into 3 https://ghc.haskell.org/trac/ghc/ticket/15569
Alexander
нормальная оптимизация
кана
возможно это хорошее место для прувера или тупо тестов
Anonymous
Может вопрос немного не в тему, но уверена, что народ шарит: в лямбда-исчислении рекурсия вводится через пляски с комбинатором неподвижной точки и тд. Зачем? В смысле, нельзя ли просто определить терм через самого себя, иными словами - вызвать функцию в ней же самой? Есть ли какие-нибудь причины, делающие это бессмысленным бредом?
Vladislav
Скоуп
Vladislav
В лямбда-исчислении нет let, как функция обратится к самой себе?
Vladislav
Y-комбинатор это и есть способ для тёрма сослаться на самого себя
Anonymous
"До" Y-комбинатора никакой рекурсии не существовало?
Darwin
"До" Y-комбинатора никакой рекурсии не существовало?
Само по себе лямбда-исчисление это способ формализовать идею вычисления (вычислимости), определить понятия, в том числе рекурсию
Darwin
Рекурсия «до» — неформальный термин
Anonymous
А после этого - строго формализованный. Спасибо
Anonymous
(\x. ??? x) вот что тут поставить вместо ??? чтобы вызвать эту же лямбду?
Абстрагироваться по f (\f x. f x) и скормить её (\ f. f f) ?
кана
Абстрагироваться по f (\f x. f x) и скормить её (\ f. f f) ?
ну так это уже частично комбинатор неподвижной точки же
кана
я думал ваш вопрос в том, как вообще без комбинаторов
Anonymous
я думал ваш вопрос в том, как вообще без комбинаторов
Хм, видимо никак. Есть ещё вариант myfunc = \x. myfunc x. Однако это похоже на трюк или самообман. Мне казалось, что с таким " именованием" комбинатор не нужен
Cheese
на всякий случай, Y не единственный комбинатор неподвижной точки
Зигохистоморфный
Все началось с (\x -> x x)(\x -> x x)
Anton
на всякий случай, Y не единственный комбинатор неподвижной точки
И даже не первый, емнип. Тьюринг кажется первым определил такой комбинатор и назвал Z.
Vladislav
> Мне казалось, что с таким " именованием" комбинатор не нужен С таким именованием не нужен, но в лямбда-исчислении такой конструкции нет
Vladislav
Там тёрмы не именуются
Dimas
Is there anyone here use english ?
Alexander
this is russian mostly channel, there is https://t.me/en_haskell for intenational users, but if you'll ask a question in english here. then very likely that you'll get some reply in English as well
Cheese
Is there anyone here use english ?
yes, you can ask in English here or there @en_haskell
Anonymous
@egor_andreev будет жить. Поприветствуем!
A64m
добавил в очередь заползающих фич не рассматриваемые пока пропозалы (главные фичи 8.6 на том же этапе еще не рассматривались) и пару пейперов с хаскель симпозиума (фичи адовые, но рассчитывать пока не на что) статус: релиз без фич прогноз: релиз с n дополнительными способами указывать типы https://gist.github.com/klapaucius/8fc2fbb48606e6dd9a9a095898e3fac4
Ilya
Зигохистоморфный
только вчера читал)
Anonymous
@ArtemMalinko будет жить. Поприветствуем!
Anonymous
@vpavkin будет жить. Поприветствуем!
Anonymous
@grender будет жить. Поприветствуем!
Vladimir
Всем привет! Извиняюсь за вторжение - кто-нибудь знает ребят, которые стоят за организацией FPConf? я имею в виду не event-агентство, а именно идейных начинателей движухи.
Anonymous
@PetrKir будет жить. Поприветствуем!