Size: a a a

Elm Lang сообщество разработчиков

2020 October 26

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Вощм, наличие тайпклассов позволяет обобщать поведение. А то, что можно обобщить, можно и автоматизировать. Автоматизация == меньше кода пишешь сам == меньше багов. Точка
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Эти не какой-то там выпендрёж, это нормальное программирование "с типами", а не "с типа типами"
источник

K

Kir in Elm Lang сообщество разработчиков
В эльме есть какая-нибудь "стандартная" реализация ленивых значений?
источник

K

Kir in Elm Lang сообщество разработчиков
Хотя, как это вообще можно сделать, без State/ST-монады-то
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
явный санк () -> a
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
force : (() -> a) -> a
источник

K

Kir in Elm Lang сообщество разработчиков
Т.е., что-то вроде
type Lazy a = Lazy (() -> a) | Forced a?
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Это уже частный случай. Ленивость != запоминаем результат. Это просто откладывание вычисления.
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Если нужно запоминать, то да, такая сумма подойдёт
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Только type Lazy a = Thunk (() -> a) | Value a
источник

K

Kir in Elm Lang сообщество разработчиков
На одну скобку больше, чем надо
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Да, поправил
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
вот типичная ленивость на ручных санках
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Такая же в Clojure есть и в других местах
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Можно даже бесконечные последовательности иметь.
источник

K

Kir in Elm Lang сообщество разработчиков
Я бы у этого типа поменял местами сумму и () ->
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Зачем иметь ленивый Nil?
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Впрочем, почему бы и нет
источник

MP

Max P in Elm Lang сообщество разработчиков
@slowpnir, @astynax, чем вы на работе вообще, занимаетесь?)
источник