Something that long could probably use a "detailed design" section showing that some consideration was given to how to make it appear in a compiler.
> On May 28, 2016, at 10:03 PM, Austin Zheng via swift-evolution > <[email protected]> wrote: > > Hello swift-evolution, > > I put together a draft proposal for the variadic generics feature described > in "Completing Generics" as a major objective for Swift 3.x. It can be found > here: > > https://github.com/austinzheng/swift-evolution/blob/az-variadic-generics/proposals/XXXX-variadic-generics.md > > It adopts the syntax and semantics that are described in Completing Generics, > and attempts to remain as simple as possible while still being useful for > certain use cases (although I think there is still room to simplify). The > proposal contains sample implementations for four use cases: > > - Arbitrary-arity 'zip' sequence > - Arbitrary-arity tuple comparison for equality > - Tuple splat/function application > - Multiple-arity Clojure-style 'map' function > > There is a lot of scope for design refinements, and even for alternative > designs. With enhanced existentials, there was already an informal consensus > that the feature would involve composing some protocols and class > requirements, and placing constraints on the associated types, and most > everything else was working out the various implications of doing so. That's > not true for this feature. > > In particular, I'm interested to see if there are similarly expressive > designs that use exclusively tuple-based patterns and no parameter packs. I > think Rust once considered a similar approach, although their proposal ended > up introducing a parameter-pack like construct for use with fn application: > https://github.com/rust-lang/rfcs/issues/376 > > Feedback would be greatly appreciated. Again, be unsparing. > > Best, > Austin > > _______________________________________________ > 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
