> On Jun 29, 2016, at 7:57 PM, David Waite via swift-evolution 
> <[email protected]> wrote:
> 
> I’m a bit late throwing my hat into the naming ring, but I was thinking
> 
> Swift.Literal.IntegerInitializable, NilInitializable, 
> StringInterpolationInitializable, etc.

Dave has explained why the `Initializable` suffix is inaccurate.

> 
> -DW
> 
>> On Jun 29, 2016, at 9:10 AM, Adrian Zubarev via swift-evolution 
>> <[email protected] <mailto:[email protected]>> wrote:
>> 
>> Since bikeshedding ideas in here abusing a closed enum anyway I’d like to 
>> share my vision of this proposal in a future release with pitched group 
>> mechanism (proposal link 
>> <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160627/022644.html>)
>>  and nested protocols in mind:
>> 
>> public group Syntax {
>>      
>>     // No need for `public` because groups inherit  
>>     // the access modifier from its root group
>>     group Literal {
>>          
>>         // no need for `public` here, because all group members  
>>         // will have the access modifier specified by the group
>>         protocol NilProtocol { ... }
>>         protocol BooleanProtocol { ... }
>>         protocol IntegerProtocol { ... }
>>         protocol FloatProtocol { ... }
>>         protocol UnicodeScalarProtocol { ... }
>>         protocol ExtendedGraphemeClusterProtocol { ... }
>>         protocol StringProtocol { ... }
>>         protocol StringInterpolationProtocol { ... }
>>         protocol ArrayProtocol { ... }
>>         protocol DictionaryProtocol { ... }
>>     }
>> }
>> Changing my first example of Syntax.Literal.*Protocol to this design won’t 
>> even break. :)
>> 
>> 
>> 
>> 
>> -- 
>> Adrian Zubarev
>> Sent with Airmail
>> 
>> Am 29. Juni 2016 um 16:55:10, Matthew Johnson ([email protected] 
>> <mailto:[email protected]>) schrieb:
>> 
>>> 
>>>> On Jun 29, 2016, at 9:46 AM, Adrian Zubarev via swift-evolution 
>>>> <[email protected] <mailto:[email protected]>> wrote:
>>>> 
>>>> I wouldn’t use the Type suffix, because I believe this will create even 
>>>> more confusion with the associatedtype IntegerLiteralType from the current 
>>>> IntegerLiteralConvertible itself.
>>>> 
>>>> 
>>> 
>>> Thanks for pointing this out!  I wasn’t thinking about the associated type 
>>> names. We definitely would not want the protocol and the associated type to 
>>> have the same name.  
>>> 
>>> Of course we *could* open the door to renaming the associated type 
>>> requirements to something like `IntegerLiteralParameterType` if we decide 
>>> that `Syntax.*LiteralType` is the best naming convention for the protocols.
>>> 
>>> I’m not necessarily advocating for this idea, but wanted to share it since 
>>> there is very active bikeshedding happening right now.  My plan is to stay 
>>> neutral on the naming and let the community and core team decide what is 
>>> best.
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Adrian Zubarev
>>>> Sent with Airmail
>>>> 
>>>> Am 29. Juni 2016 um 16:42:02, Matthew Johnson ([email protected] 
>>>> <mailto:[email protected]>) schrieb:
>>>> 
>>>>> 
>>>>>> On Jun 29, 2016, at 9:15 AM, Erica Sadun via swift-evolution 
>>>>>> <[email protected] <mailto:[email protected]>> wrote:
>>>>>> 
>>>>>> I rather like this one.  It produces: `Syntax.Literal.IntegerProtocol`, 
>>>>>> which is honestly
>>>>>> the best I've seen so far *and* it might get past the Dave test.
>>>>> 
>>>>> I’m curious to see what Dave thinks of this as well.  
>>>>> 
>>>>> `Syntax.IntegerLiteralType` is another that popped into my mind this 
>>>>> morning.  I don’t recall if that has been mentioned yet.  The idea here 
>>>>> is that an integer literal *can be typed as* a type that conforms to this 
>>>>> protocol (the type suffix *is not* used in the sense that it used to be 
>>>>> used in things like `SequenceType` which had the semantic that conforming 
>>>>> types *are* sequences).  
>>>>> 
>>>>> -Matthew
>>>>> 
>>>>>> 
>>>>>> Thank you for bringing this into the conversation!
>>>>>> 
>>>>>> -- E
>>>>>> 
>>>>>>> On Jun 29, 2016, at 12:31 AM, Adrian Zubarev via swift-evolution 
>>>>>>> <[email protected] <mailto:[email protected]>> wrote:
>>>>>>> 
>>>>>>> How about:
>>>>>>> 
>>>>>>> public enum Syntax {
>>>>>>>        
>>>>>>>     public enum Literal {
>>>>>>> 
>>>>>>>         public typealias NilProtocol = ...
>>>>>>>         public typealias BooleanProtocol = ...
>>>>>>>         public typealias IntegerProtocol = ...
>>>>>>>         public typealias FloatProtocol = ...
>>>>>>>         public typealias UnicodeScalarProtocol = ...
>>>>>>>         public typealias ExtendedGraphemeClusterProtocol = ...
>>>>>>>         public typealias StringProtocol = ...
>>>>>>>         public typealias StringInterpolationProtocol = ...
>>>>>>>         public typealias ArrayProtocol = ...
>>>>>>>         public typealias DictionaryProtocol = ...
>>>>>>>     }
>>>>>>> }
>>>>>>> 
>>>>>>> extension Array : Syntax.Literal.ArrayProtocol { ... }
>>>>>> 
>>>>>> _______________________________________________
>>>>>> swift-evolution mailing list
>>>>>> [email protected] <mailto:[email protected]>
>>>>>> https://lists.swift.org/mailman/listinfo/swift-evolution 
>>>>>> <https://lists.swift.org/mailman/listinfo/swift-evolution>
>>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> swift-evolution mailing list
>>>> [email protected] <mailto:[email protected]>
>>>> https://lists.swift.org/mailman/listinfo/swift-evolution 
>>>> <https://lists.swift.org/mailman/listinfo/swift-evolution>
>>> 
>> 
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected] <mailto:[email protected]>
>> https://lists.swift.org/mailman/listinfo/swift-evolution 
>> <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to