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.

Reply via email to