This looks really nice.  Thank you for doing the legwork of researching 
previous discussions and writing up a detailed proposal!

The motivation discusses the common use case of using an enum in a data source 
implementation which requires 0-based Int indices.  However, the proposed 
solution as-written does not specifically address this use case.  Is the intent 
that the compiler-synthesized implementation always uses indices meeting 
0-based Int requirement?  If so it is probably worth stating this explicitly in 
the proposal.

Sent from my iPad

> On Dec 30, 2017, at 5:12 PM, Jacob Bandes-Storch via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> Sorry for the delay. I've just updated the proposal text to incorporate 
> various changes, some contributed by others.
> 
> https://github.com/jtbandes/swift-evolution/blob/case-enumerable/proposals/0000-derived-collection-of-enum-cases.md
> 
> Robert's implementation is a good start, but will need to be updated to match 
> the naming choice in the final proposal, and to use associatedtype.
> 
>> On Fri, Dec 8, 2017 at 9:19 PM, Step Christopher 
>> <schristop...@bignerdranch.com> wrote:
>> Has this stalled out again? I would like to help with the proposal and even 
>> attempt implementation. 
>> 
>> I also need to catch up on the resilient discussion regarding enum case 
>> ordering. 
>> 
>>> On Nov 14, 2017, at 10:50 PM, Jacob Bandes-Storch via swift-evolution 
>>> <swift-evolution@swift.org> wrote:
>>> 
>>> 
>>> 
>>> Jacob Bandes-Storch
>>> 
>>> On Tue, Nov 14, 2017 at 9:06 PM, Brent Royal-Gordon 
>>> <br...@architechies.com> wrote:
>>>>>> On Nov 14, 2017, at 5:21 PM, Xiaodi Wu <xiaodi...@gmail.com> wrote:
>>>>>> 
>>>>>> 1. It must be possible to easily access the count of values, and to 
>>>>>> access any particular value using contiguous `Int` indices. This could 
>>>>>> be achieved either by directly accessing elements in the list of values 
>>>>>> through an Int subscript, or by constructing an Array from the list of 
>>>>>> values.
>>>>>> 
>>>>>> 2. It must be possible to control the order of values in the list of 
>>>>>> values, either by using source order or through some other simple, 
>>>>>> straightforward mechanism.
>>>>>  
>>>>> OK, first of all, nowhere in the proposal text are these requirements 
>>>>> stated as part of the use case. You're free to put forward new use cases, 
>>>>> but here I am trying to design the most elegant way to fulfill a stated 
>>>>> need and you're telling me that it's something other than what's written.
>>>> 
>>>> Honestly, re-reading the proposal, it never cites a fully-formed use case. 
>>>> Instead, it cites several blog posts, Stack Overflow questions, and small 
>>>> code samples without digging in to the underlying reasons why developers 
>>>> are doing what they're doing. Most of the people discussing it so far seem 
>>>> to have had a tacit understanding that we wanted roughly Array-like 
>>>> access, but we haven't explicitly dug into which properties of an Array 
>>>> are important.
>>>> 
>>>> (If anyone involved feels like they had a different understanding of the 
>>>> use case, please speak up.)
>>>> 
>>>> I think this is a place where the proposal can be improved, and I'm 
>>>> willing to do some writing to improve it.
>>> 
>>> For the record, I would be happy to add co-authors (or even relinquish 
>>> authorship entirely—I don't really care whose name is on this, it just 
>>> needs to happen!) if you or anyone else has improved wording, motivation, 
>>> justification, etc. to contribute.
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution@swift.org
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to