Size: a a a

2020 May 06

к

кана in Haskell
+
источник

IK

Ilya Kos in Haskell
кана
вот бы case в do-нотации работал бы так, что если в одной ветке (), то остальные ветки можно не писать, если там ~ pure ()
Звучит как слишком много магии
источник

YS

Yan Shkurinskiy in Haskell
Вроде нормально
источник

к

кана in Haskell
да нет, это работает банально как "если тип кейса m (), то добавить в конец _ -> pure ()"
источник

IK

Ilya Kos in Haskell
Это как преложение в идрисе было автоматически делать аппликативное применение функций без явного синтаксис
источник

IK

Ilya Kos in Haskell
кана
да нет, это работает банально как "если тип кейса m (), то добавить в конец _ -> pure ()"
Ну это на простом случае усе понятно
источник

к

кана in Haskell
а других случаев вроде бы и нет
источник

YS

Yan Shkurinskiy in Haskell
А какой сложный?
источник

IK

Ilya Kos in Haskell
А в общем случае это может сильно зафакапить выведение типов например
источник

к

кана in Haskell
нет может
источник

к

кана in Haskell
делать неполные кейсы можно и сейчас
источник

к

кана in Haskell
просто это проводит к рантайм ошибкам
источник

AV

Alexander Vershilov in Haskell
аа ааа
что происходит когда я вызываю foreign export функцию ? берется капабилити и блокируется его таск, и мой поток со стороны си становится таском этому капабилити?
Да
источник

YS

Yan Shkurinskiy in Haskell
Ilya Kos
А в общем случае это может сильно зафакапить выведение типов например
Ну, мне кажется, если одна ветка есть, из которой можно вывести тип, другие сделать будет не проблема
источник

YS

Yan Shkurinskiy in Haskell
Ну либо явно написать одну ветку с применением типа
источник

YS

Yan Shkurinskiy in Haskell
Или явной аннотацией, если вдруг...
источник

AV

Alexander Vershilov in Haskell
+- скорее там в пул задач добавляется твой тред как bounded
источник

к

кана in Haskell
нет ну у этого есть проблема
источник

к

кана in Haskell
программисты могут начать полагаться на это, а тут фигак и тип кейса - forall a. m a
источник

к

кана in Haskell
и компилятору нужно делать выбор, или привести это к () и добавить _ -> pure () (что не совсем правильно может быть)
источник