Right––there won't be any sense of actually trying to ascertain whether or not the Enumerable is capable of these operations at runtime.
By encoding their behaviour at the protocol level, implementations can instead declare the class of operations they support for that type. This will allow us to make streams not support negative integer access by default. If you have a stream you want that for, you would wrap it in a new struct and implement Enumerable for it, instructing the protocol callback on how to meaningfully handle that case. -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/4a4cec48-f64f-4be8-aa57-118e1831d470%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
