Size: a a a

2020 May 18

KV

Kirill Valyavin in haskell_blah
Leonid 🦇 Onokhov
С твича перенимают
Лучше бы денег заплатили
источник

λ

λоλторт in haskell_blah
Gamer
а какие примеры программ вы бы посоветовали, чтобы показать, что идрис тормозит, потому что строгий, а хачкель нет из-за ленивости?
любая фп программа
источник

G

Gamer in haskell_blah
уж больно лихо брэди переписал идрис2 на идрис2, неужто он все время страдает
источник

AG

Alex Gryzlov in haskell_blah
если на завтипах писать, фолды и мапы все равно сложно использовать, нужно постоянно адхок типы с развесистыми индексами изобретать
источник

AG

Alex Gryzlov in haskell_blah
это дело пытались орнаментами сгладить, но по моему пока ничего толкового не изобрели
источник

AG

Alex Gryzlov in haskell_blah
поэтому обычно там вместо тайпклассов какая то синтаксическая глазурь типа нотаций в коке
источник

AA

A64m AL256m qn<co... in haskell_blah
Gamer
а какие примеры программ вы бы посоветовали, чтобы показать, что идрис тормозит, потому что строгий, а хачкель нет из-за ленивости?
ну любой код где конвейер функций которые соединаются через стримы с рекурсией, минимальный вычисление числе фибоначчи. это в языке без ленивости будет асимптотически хужеработать, потому что будет вычислять одно и то же многократно
источник

AA

A64m AL256m qn<co... in haskell_blah
обычно только идрис тормознее не потому что там ленивости нет, а просто потому что бекенд хуже
источник

АГ

Александр Гранин... in haskell_blah
I'm also affected by the discussion since I have co-workers sympathetic to your view of simple Haskell I don't fully agree with.
Бедный чел, коллеги на работе его мучают простым Хаскелем, когда он хочет сложный.
источник

AG

Alex Gryzlov in haskell_blah
Gamer
уж больно лихо брэди переписал идрис2 на идрис2, неужто он все время страдает
в компиляторах обычно никто фибоначчи не считает, там основные тормоза из-за лишней работы, которая не сводится к мемоизации
источник

AG

Alex Gryzlov in haskell_blah
например лукапы избыточные или строгая нормализация там где хватает слабой
источник

KV

Kirill Valyavin in haskell_blah
Александр Гранин
I'm also affected by the discussion since I have co-workers sympathetic to your view of simple Haskell I don't fully agree with.
Бедный чел, коллеги на работе его мучают простым Хаскелем, когда он хочет сложный.
Так он наверное нанимался писать на хаскелле, а не на симпл хаскелле
источник

AA

A64m AL256m qn<co... in haskell_blah
из-за отсутствия мемоизации разница будет как между стримингом (есть) и стримли (нет)
источник

AA

A64m AL256m qn<co... in haskell_blah
особенно если человек фп где-то подхватил он потом регулярно пишет код, который на стримах без материализации (ну итераторах из дотнета каких-нибудь)
постоянно будет влетать на непредвиденную квадратичную сложность и искать потом куда ручную материализацию вставлять
источник

AA

A64m AL256m qn<co... in haskell_blah
но идрис 2 быстрее (компилирует) чем первый просто переписанный потому что
источник

AG

Alex Gryzlov in haskell_blah
ну я про это и говорю, там архитектура лучше
источник

AG

Alex Gryzlov in haskell_blah
в общем моя интуиция заключается в том что для завтипов по ряду причин (тотальность, индексы) ленивость слишком крупнозернистый инструмент, нужно ее разбирать на составляющие - кодату, линейность и тд
источник

Oℕ

Oleg ℕizhnik in haskell_blah
Я правильно понимаю, что завтипном хошкеле на уровне типов ленивости нет?
источник

AA

A64m AL256m qn<co... in haskell_blah
его и самого нету, но я чет сомневаюсь, что будет
у нынешних тайпфемилей же нет
источник

Oℕ

Oleg ℕizhnik in haskell_blah
А у самого разве есть разница какая-то?
источник