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

Adrian Zubarev adrian.zubarev at devandartist.com
Wed Jun 29 09:46:23 CDT 2016


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.



-- 
Adrian Zubarev
Sent with Airmail

Am 29. Juni 2016 um 16:42:02, Matthew Johnson (matthew at anandabits.com) schrieb:


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> 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/aca5c81f/attachment.html>


More information about the swift-evolution mailing list