+1 to the interaction between variadic generics and extension of tuple types. But this is a proposal I hope to see accepted and implemented at some point.
Is there an official formatted version of the manifesto? I put together a gist with markdown formatting but would much rather direct people to an official copy if one exists. ( https://gist.github.com/austinzheng/7cd427dd1a87efb1d94481015e5b3828) Austin On Tue, May 3, 2016 at 9:47 PM, Joe Groff via swift-evolution < [email protected]> wrote: > > > On May 3, 2016, at 9:13 PM, Developer via swift-evolution < > [email protected]> wrote: > > > > I’ve been contemplating this idea for a while now, mostly because I > think it’s a very important feature, but also because I can’t find a single > example of a programming language getting it completely right. In Swift, > the motif of tuples throughout the language would lead one to think that > they have some kind of special status in the language. Yet, tuples are an > opaque concept exposed by the compiler to the end user with no opportunity > for extension. Languages that have tried to expose tuples to their users > for extension have done so in less than ideal ways (see Tuple1-Tuple22 > Scala, Haskell’s hard limit on tuples, Rust’s limitations for std::tuple), > yet each implementation has something to offer a possible Swift > implementation. I see only one course of action that will bring us > extensible tuples in a manner that is compatible with Swift and its overall > design philosophy. To that end, I have drawn up a draft proposal for > generic tuple extensions that I will submit to swift-evolution shortly. > > Tuples are a special case of a more general shortcoming, which is that you > can't extend *any* of the builtin structural types, not only tuples but > metatypes, function types, and existentials. I don't see any reason to > address this for tuples only. In the particular case of tuples, I think you > really want variadic generic parameters too, to be able to extend them to > arbitrary arities without having to waste space generating boilerplate for > a bunch of fixed arities. Both structural type extensions and variadic > generics are covered in Doug's omnibus generics roadmap: > https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160229/011666.html > > -Joe > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
