Understood sorry for the noise, but thanx to your replies I learnt something.
On Wednesday, July 24, 2024 at 9:43:21 AM UTC+2 woj...@wojtekmach.pl wrote: > Yeah the key part is not whether something is a _stream_ (functions in > Stream module tend to return %Stream{} or fun/2) but whether something is > an _enumerable_. There’s no benefit turning, say, list into a stream, list > is already _enumerable_! > > On 24 Jul 2024, at 09:38, Robert Dober <robert...@gmail.com> wrote: > > Oh I think I get it > Why create just a wrapper around an enum with `Stream.map(...;&(&1))` when > you can call all the transformations on the enum anyway. > In other words instead of `x|>Stream.new|>Stream.something|>... I just > get rid of the Stream.new > > Correct? > > On Wednesday, July 24, 2024 at 9:22:45 AM UTC+2 Robert Dober wrote: > >> I am afraid I do not get the message José, did you mean that >> `Stream.map(enum, &(&1))` is an antipattern? >> Well my use case is very simple, I have a list and I want to make it >> lazy, why should I not use an idiom like the above? >> IIUC I should not use Stream at all for this, right? But is there a >> different way? There is no Enum.to_stream for example. >> >> Hmm maybe Stream and List do not play in the same class as Stream does >> not implement Collectable either? >> >> Can you help me out with this, please >> Robert >> >> On Wednesday, July 24, 2024 at 12:17:22 AM UTC+2 José Valim wrote: >> >>> While some functions in the Stream module may return the `Stream` struct, >>> you must never explicitly check for the `Stream` struct, as streams >>> may come in several shapes, such as `IO.Stream`, `File.Stream`, or >>> even `Range`s. >>> >>> The functions in the Stream module only guarantee to return enumerables >>> and their implementation (structs, anonymous functions, etc) may >>> change at any time. For example, a function that returns an anonymous >>> function today may return a struct in future releases. >>> >>> Instead of checking for a particular type, you must instead write >>> assertive code that assumes you have an enumerable, using the functions >>> in the `Enume` or `Stream` module accordingly. >>> >> > -- > You received this message because you are subscribed to the Google Groups > "elixir-lang-core" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to elixir-lang-co...@googlegroups.com. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/elixir-lang-core/04f579fc-4cd3-4747-81e2-b022e7420546n%40googlegroups.com > > <https://groups.google.com/d/msgid/elixir-lang-core/04f579fc-4cd3-4747-81e2-b022e7420546n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > > -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-core+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/594eab45-ead2-4948-aa01-5de0bc57a7b9n%40googlegroups.com.