> All of the options I've seen suffer from a common problem:  The order of 
> parameters isn't obvious.  If we use an additional keyword we can have a more 
> readable syntax.
> 
> Example using "associate" and "with":
> 
> associate *NewType* with *ExistingType*

I don't understand what you're suggesting here. What is `ExistingType`? Does 
this go inside the `protocol` block or outside?

For illustration, perhaps you can translate this into your syntax:

        public protocol GeneratorType {
            typealias Element
            public mutating func next() -> Self.Element?
        }

-- 
Brent Royal-Gordon
Architechies

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

Reply via email to