Size: a a a

2020 May 25

NV

Nikita Vilunov in haskell_blah
Yan Shkurinskiy
Я так понял, мысль Александра - что протекает в ft, когда используется тайпклассы, где, например, можно IO подсунуть
я могу ответить — ну так не используйте такие тайпклассы
источник

YS

Yan Shkurinskiy in haskell_blah
Nikita Vilunov
я могу ответить — ну так не используйте такие тайпклассы
всё так)
источник

AV

Alexander Vershilov in haskell_blah
Alexander Vershilov
Мы не комбинируем Free f и Free g, но мы можем скомбинировать Free F и Free G. Для этого мы вводим H, являющиймя объединением F и G и пишем Free H
Далее мы можем строить иерархию из таких H и объединять их
источник

YS

Yan Shkurinskiy in haskell_blah
я так и сказал, Александр кажется согласился
источник

LO

Leonid 🦇 Onokhov in haskell_blah
Oleg ℕizhnik
Могут быть скомбинированы?
Free (Sum f g)
источник

NV

Nikita Vilunov in haskell_blah
либо судите поровну, и вставляйте в свой GADT кейз с выполнением IO
источник

АГ

Александр Гранин... in haskell_blah
@vnikita Вот что у меня в заметках:
-- Flaws of FT
-- - BL depends on Runtime
-- - BL and implementation works in the same Runtime
-- - Implementation details leak into BL through type classes
--   (see logger type classes with additional type variables)
-- - Advanced language features (type classes + Type Families)
-- - Single runtime for all language interpreters
-- - Implicit type class instances (not values)
-- -
источник

Oℕ

Oleg ℕizhnik in haskell_blah
Leonid 🦇 Onokhov
Free (Sum f g)
не думаю, ведь этот вариант всеми проклят
источник

LO

Leonid 🦇 Onokhov in haskell_blah
Oleg ℕizhnik
не думаю, ведь этот вариант всеми проклят
Кем? Академиками?!
источник

Oℕ

Oleg ℕizhnik in haskell_blah
практиками
источник

NV

Nikita Vilunov in haskell_blah
Александр Гранин
@vnikita Вот что у меня в заметках:
-- Flaws of FT
-- - BL depends on Runtime
-- - BL and implementation works in the same Runtime
-- - Implementation details leak into BL through type classes
--   (see logger type classes with additional type variables)
-- - Advanced language features (type classes + Type Families)
-- - Single runtime for all language interpreters
-- - Implicit type class instances (not values)
-- -
очень интересно, а что такое рантайм здесь?
источник

Oℕ

Oleg ℕizhnik in haskell_blah
Иерархистами-монадистами
источник

AV

Alexander Vershilov in haskell_blah
> - Implementation details leak into BL through type classes

это значит что Implementation details leak into BL through LangL ?
источник

LO

Leonid 🦇 Onokhov in haskell_blah
Oleg ℕizhnik
Иерархистами-монадистами
Ну так это практики не принявшие опыт из индустирии
источник

AV

Alexander Vershilov in haskell_blah
Alexander Vershilov
> - Implementation details leak into BL through type classes

это значит что Implementation details leak into BL through LangL ?
Равное по силе замечание
источник

Oℕ

Oleg ℕizhnik in haskell_blah
Если я правильно помню идеи Александра, что-то вроде "в реальных бизнес задачах такого не возникает"
источник

АГ

Александр Гранин... in haskell_blah
Yan Shkurinskiy
Я так понял, мысль Александра - что протекает в ft, когда используется тайпклассы, где, например, можно IO подсунуть
Типа того. Когда создаешь эффект на основе какой-нибудь либы, где на уровне типов еще дополнительная инфа, чаще всего относящаяся к деталям. И ты ее вынужденно тащишь в свои констрейнты.

Или когда хочется самому добавить тайп левел магии, например - параметризовать что-то посильнее. Опять приходится обновлять тайпклассы эффектов, добавлять туда новые параметры, и оно опять лезет в бизнес-логику
источник

Oℕ

Oleg ℕizhnik in haskell_blah
и типа если хочется смешать два языка - это противоречит SRP или вроде того
источник

АГ

Александр Гранин... in haskell_blah
Oleg ℕizhnik
Но ведь это один из основных пойнов таглесс файнала
Ну можно с тем человеком поговорить, пообсуждать
источник

YS

Yan Shkurinskiy in haskell_blah
Александр Гранин
Типа того. Когда создаешь эффект на основе какой-нибудь либы, где на уровне типов еще дополнительная инфа, чаще всего относящаяся к деталям. И ты ее вынужденно тащишь в свои констрейнты.

Или когда хочется самому добавить тайп левел магии, например - параметризовать что-то посильнее. Опять приходится обновлять тайпклассы эффектов, добавлять туда новые параметры, и оно опять лезет в бизнес-логику
Для себя я это решил тем, что не использую в логике такие либы)
источник