[swift-evolution] [Pitch] merge types and protocols back together with type<Type, Protocol, ...>

Austin Zheng austinzheng at gmail.com
Tue May 17 02:09:55 CDT 2016


This is the proposal I'd like to see go before review, and the one I think is closest in spirit to the generics roadmap.

Things like adding union types, and rewriting Swift's type system to look like Scala's, have very little to do with better representations of existentials, and belong in a follow-up proposal.

Austin

> On May 16, 2016, at 11:55 PM, Brent Royal-Gordon via swift-evolution <swift-evolution at swift.org> wrote:
> 
>> But don't you mean the union type of all possible Collection types when you write Any<Collection>?
> 
> No, I mean "an existential capable of holding any Collection".
> 
> If I write Any<Equatable, Collection>, I mean "an existential capable of holding any Equatable Collection".
> 
> If I write Any<UITableViewCell, CounterDisplaying>, I mean "an existential capable of holding any CounterDisplaying UITableViewCell".
> 
> If I write Any<Collection where .Element: Equatable>, I mean "an existential capable of holding any Collection with an Equatable Element".
> 
> If I write Any<class>, I mean "An existential capable of holding any class instance".
> 
> If I write Any, I mean "An existential capable of holding anything".
> 
> Union types have nothing to do with it.
> 
> -- 
> Brent Royal-Gordon
> Architechies
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list