[swift-evolution] [Proposal Draft] Literal Syntax Protocols

Matthew Johnson matthew at anandabits.com
Wed Jun 29 09:41:57 CDT 2016


> On Jun 29, 2016, at 9:15 AM, Erica Sadun via swift-evolution <swift-evolution at swift.org> 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 <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> 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
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160629/0eb30596/attachment.html>


More information about the swift-evolution mailing list