Size: a a a

2020 May 25

LL

Lama Lover in pro.elixir
Andrew Rudenko
"ленивая коллекция" в кложе / SICP это не тоже самое, что Stream в эликсире
"ленивая коллекция" в elixir - это Stream
А у нас в этом чате контекст elixir
источник

LL

Lama Lover in pro.elixir
array в erlang и array в c - это разные вещи внутри, хоть и называются одинаково, но тем не менее, если в этом чате кто-то напишет :array, то это будет array из erlang
источник

LL

Lama Lover in pro.elixir
Мы тут в таком контексте живём
источник

LL

Lama Lover in pro.elixir
Так что если ты говоришь о "ленивых коллекциях", то уточняй что они из кложи, если ты говоришь о кложе
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ну мы как-бы про кложу говорим
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Потому что как работает все в эликсире я знаю, и там везде tco
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Ну мы как-бы про кложу говорим
источник

LL

Lama Lover in pro.elixir
источник

AR

Andrew Rudenko in pro.elixir
Andrew Rudenko
в кложе / рэкетах стрим это именно коллекция, которая в том числе включает мемоизацию
классическая демонстрация на фибоначи:

(def fib (cons 0 (cons 1 (lazy-seq (map + fib (rest fib))))))
источник

AB

Alex Bubnov in pro.elixir
Andrew Rudenko
в кложе / рэкетах стрим это именно коллекция, которая в том числе включает мемоизацию
У Seq есть "материальная" часть? Я припоминаю, что в некоторых случаях голова коллекции вычисляется наперед, но ведь не всегда же
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Извини, но разговор вылез из того, что ленивые коллекции в кложе не жрут стек и не используют tco
источник

AR

Andrew Rudenko in pro.elixir
Alex Bubnov
У Seq есть "материальная" часть? Я припоминаю, что в некоторых случаях голова коллекции вычисляется наперед, но ведь не всегда же
оно не вычисляется наперед, но сохраняет результаты уже вычисленного
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Извини, но разговор вылез из того, что ленивые коллекции в кложе не жрут стек и не используют tco
Они немного нечистые
источник

LL

Lama Lover in pro.elixir
Типа ленивая коллекция в кложе хоть и всегда индемпотентна на всех операциях, внутри она меняется
источник

AR

Andrew Rudenko in pro.elixir
Andrew Rudenko
классическая демонстрация на фибоначи:

(def fib (cons 0 (cons 1 (lazy-seq (map + fib (rest fib))))))
(take 14 fib)
(0 1 1 2 3 5 8 13 21 34 55 89 144 233)
источник

AR

Andrew Rudenko in pro.elixir
Andrew Rudenko
классическая демонстрация на фибоначи:

(def fib (cons 0 (cons 1 (lazy-seq (map + fib (rest fib))))))
и тут довольно клевый концепт в том, что мы не используем рекурсию в терминах функций, но используем рекурсивные коллекции
источник

AR

Andrew Rudenko in pro.elixir
и при этом имеем автоматически эффективную имплементацию с кешированием
источник

AR

Andrew Rudenko in pro.elixir
на эликсировском Stream такое не выразишь, правильно?
источник

AR

Andrew Rudenko in pro.elixir
Alexey Bolshakov
Коллега, я давно читал. Деталей уже не вспомню. К тому же, ерланг тоже постепенно меняется. Некоторые проблемы перестают быть актуальными. Дал просто для информации. Выводы, пожалуйста, сами )
да линк клевый, спасибо
источник

AB

Alex Bubnov in pro.elixir
Andrew Rudenko
на эликсировском Stream такое не выразишь, правильно?
Еяпп, это вообще не сделать в beam.
источник