on Thu Feb 02 2017, Chris Lattner <swift-evolution@swift.org> wrote:
> On Jan 31, 2017, at 11:16 AM, Ben Cohen via swift-evolution > <swift-evolution@swift.org> wrote: >> >> As we expand (and maybe contract :) the standard library, this kind >> of question comes up a lot, so it is worth setting out some criteria >> for judging these “helper” methods. Here’s my take on such a list >> (warning: objectivity and subjectivity blended together in the >> below). > > This is great perspective Ben, thank you for taking time to write this up! > > It seems that you are leaning towards removing enumerated(). What do > you think about the proposal of removing enumerated but adding > indexed() to replace it? It would provide the same behavior for > common array cases, while providing more useful/defensible > functionality for other collections. indexed() is trivially composed from other library primitives: zip(c.indices, c) enumerated() only exists in the standard library, and was explicitly designed as it was, because what it does is not currently easy to write. As soon as we enable "0...", that changes. I'm not against having trivial helper functions in principle, but I don't think the Standard Library or the language is yet at the stage of maturity where we can see clearly which ones are important enough, and pay for the API surface area they add. For that reason I feel strongly that for the time being we should remain very conservative about adding such things, and only introduce them where there's real compelling evidence that they are a win. There is no such evidence for indexed() as far as I can tell. -- -Dave _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution