Size: a a a

Генератор непрочитанных сообщений

2020 May 27

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Без рекурсии в хаскеле это прикольнее выглядит
sum n = sum $ (^ 2) <$> [n..(2*n)]
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Dmitriy Tkachenko
это действительно так?
Нет, проеб времени это делать самостоятельно без общего обсуждения.
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Aleksandr Khristenko
Без рекурсии в хаскеле это прикольнее выглядит
sum n = sum $ (^ 2) <$> [n..(2*n)]
выглядит непонятно
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Aleksandr Khristenko
Без рекурсии в хаскеле это прикольнее выглядит
sum n = sum $ (^ 2) <$> [n..(2*n)]
а как тут меняется i?
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Dmitriy Tkachenko
все понимают, как работает продукт на 80-90%
И по закону паретто именно эти 80 процентов будут сделаны за 20 процентов времени, а над непонятными 20 процентами будут ебаться гораздо больше.
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Aleksandr Khristenko
Без рекурсии в хаскеле это прикольнее выглядит
sum n = sum $ (^ 2) <$> [n..(2*n)]
0..n |> Enum.reduce(0, &(&2 + :math.pow(&1+n,2)))

можно вот так тогда%)
источник

BT

Bohdan Turchyk in Генератор непрочитанных сообщений
ну я не прям утверждаю, мне сложно судить
но речь про то самое "инженерное" мышление
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Alexander Kladov
0..n |> Enum.reduce(0, &(&2 + :math.pow(&1+n,2)))

можно вот так тогда%)
Ну тогда и так можно
sum1 n = sum [(n+i)^2 | i<-[0..n]]

выглядит еще более изящно
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
я пока еще плохо знаю эликсир, чтобы парировать :D
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Как-будто я хорошо хаскель знаю
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Bohdan Turchyk
ну я не прям утверждаю, мне сложно судить
но речь про то самое "инженерное" мышление
А оно есть вообще?
источник

P

Panda🤔 in Генератор непрочитанных сообщений
Alexander Kladov
выглядит непонятно
<$> это типа where x и выражение списка. List comprehension или как там
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Panda🤔
<$> это типа where x и выражение списка. List comprehension или как там
<$> это тупо map
источник

P

Panda🤔 in Генератор непрочитанных сообщений
Aleksandr Khristenko
<$> это тупо map
А я думал это шорткат для where
источник

P

Panda🤔 in Генератор непрочитанных сообщений
Aleksandr Khristenko
Ну тогда и так можно
sum1 n = sum [(n+i)^2 | i<-[0..n]]

выглядит еще более изящно
Вот так тоже красиво
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
sum $ (^ 2) <$> [n..(2*n)]
sum (fmap (\x -> x^2) [n..(2*n)])

по-сути эквивалентны
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
вообще хаскель местами иноплатеный язык, ибо если есть желание понять последовательность действий надо читать не слева направо а справа налево
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Aleksandr Khristenko
sum $ (^ 2) <$> [n..(2*n)]
sum (fmap (\x -> x^2) [n..(2*n)])

по-сути эквивалентны
но это же менее оптимально чем цикл?
ну т.е. он должен сформировать лист, в памяти его где-то держать, чтобы потом просуммировать?
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Alexander Kladov
но это же менее оптимально чем цикл?
ну т.е. он должен сформировать лист, в памяти его где-то держать, чтобы потом просуммировать?
Нет. Достаточно вспомнить, что хаскель ленивый язык и в нем вполне можно определять и работать вообще с бесконечными стркутурами.
Например take 5 [1..] вполне корректный код.
источник

P

Panda🤔 in Генератор непрочитанных сообщений
Только написать хотел что хаскелль ленивый
источник