Excellent! I’m glad to see someone pick this up (and interest this time! I was disheartened earlier by lack of discussion when I proposed this)
One initial bit of feedback - I believe if you have existential types, I
believe you can define Sequence Element directly, rather than with a type
alias. e.g.
protocol Sequence {
associatedtype Element
associatedtype Iterator: any<IteratorProtocol where
IteratorProtocol.Element==Element>
associatedtype SubSequence: any<Sequence where Sequence.Element == Element>
…
}
> On May 22, 2016, at 6:18 PM, Austin Zheng via swift-evolution
> <[email protected]> wrote:
>
>
> Speaking of which, for those who care I rewrote the draft proposal to attempt
> a much more rigorous treatment of the semantics of the generalized
> existential, including a discussion about existential type equivalence and
> subtyping. It would be nice to see people poke holes in my logic so I can
> patch them up.
> https://github.com/austinzheng/swift-evolution/blob/az-existentials/proposals/XXXX-enhanced-existentials.md
>
> <https://github.com/austinzheng/swift-evolution/blob/az-existentials/proposals/XXXX-enhanced-existentials.md>
>
> Austin
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
