Size: a a a

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

2020 May 27

AK

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

P

Panda🤔 in Генератор непрочитанных сообщений
Alexander Kladov
ну чтобы получить 5 элемент, он же пройдет 1 2 3 4 5?
Мне кажется по хешу достанет
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
ну а если у тебя сложная мапа
источник

P

Panda🤔 in Генератор непрочитанных сообщений
Alexander Kladov
ну а если у тебя сложная мапа
Например
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
ну как выше пример
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Alexander Kladov
но это же менее оптимально чем цикл?
ну т.е. он должен сформировать лист, в памяти его где-то держать, чтобы потом просуммировать?
За счет ленивости, кстати, при применении нескольких map не будут построены промежуточные элементы.
И можно довольно элегантно работать с огромными файлами в константной памяти.
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
что нужно посчитать что-то
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Alexander Kladov
ну чтобы получить 5 элемент, он же пройдет 1 2 3 4 5?
Там не получить 5й элемент а получить 5 элементов.
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Aleksandr Khristenko
Там не получить 5й элемент а получить 5 элементов.
а
источник

P

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

AK

Alexander Kladov in Генератор непрочитанных сообщений
Aleksandr Khristenko
Там не получить 5й элемент а получить 5 элементов.
но 5 элементов же будут в памяти
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
ну т.е. код выше строит список какой то и потом складывает каждый элемент
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
или он будет как раз вычислять элемент списка в момент суммирования?
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
т.е. грубо говоря это в reduce развернется?
источник

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Каждый элемент списка будет вычислен в момент, когда он действительно нужен.
После, он вполне может быть собрать gc.
источник

AK

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

A

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

A

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

A

Aleksandr Khristenko in Генератор непрочитанных сообщений
Alexander Kladov
понятно, прикольно
Вообще, имхо есть есть цель познакомиться с fp языками, то haskell must have.
источник

AK

Alexander Kladov in Генератор непрочитанных сообщений
Aleksandr Khristenko
Например оно может кушать дофига памяти, если неправильно подойти
ну так можно в любом языке
источник