[swift-evolution] Variadic generics discussion

Douglas Gregor dgregor at apple.com
Sun Jun 5 16:42:42 CDT 2016


> On May 31, 2016, at 12:56 PM, Austin Zheng via swift-evolution <swift-evolution at swift.org> wrote:
> 
> This is pretty much where my thinking about the topic has led me as well. I'll resign this topic to pursue some other, hopefully more relevant work, although anyone who wants to continue the discussion is welcome to.

I don’t necessarily agree with the reasoning, but I agree with the conclusion. For me, something like variadic generics isn’t even be in scope for Swift *4*, because other generics features (e.g., the Matthew Johnson’s list) are already enough for the full Swift 3 release… and probably too much to tackle in a year.

I do think that variadic generics can fit into our dynamic-dispatched implementation model, and am not at all convinced that these problems are better solved by macros, but I’m happy to have that discussion more than a year from now :)

	- Doug

> 
> On Tue, May 31, 2016 at 12:49 PM, Chris Lattner <clattner at apple.com <mailto:clattner at apple.com>> wrote:
> 
>> On May 31, 2016, at 12:17 PM, L Mihalkovic via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>> well there is no macro system, and for the moment a clear statement from chris that this is not on the table in the short term. the code in the example looked like run-of-the-mill swift, except for the “…". so that leaves us with swift looking code that would be executed by the compiler, but with nothing particular to tell which parts to and which not. just a thought.
> 
> Lets be clear though: variadic generics are not in scope for Swift 3 either.  
> 
> I definitely don’t speak for the rest of the core team, nor have I discussed it with them…  but IMO, this whole feature seems like a better fit for a macro system than it does to complicate the generics system.  Unlike C++’s template system, our generics system inherently has runtime / dynamic dispatch properties, and I don’t think that shoehorning variadics into it is going to work out well.
> 
> -Chris
> 
>> 
>> 
>>> On May 31, 2016, at 7:59 PM, Austin Zheng <austinzheng at gmail.com <mailto:austinzheng at gmail.com>> wrote:
>>> 
>>> How so? I'm interested in anything that can get us away from having to generating code at compile-time.
>>> 
>>> On Tue, May 31, 2016 at 10:04 AM, L. Mihalkovic <laurent.mihalkovic at gmail.com <mailto:laurent.mihalkovic at gmail.com>> wrote:
>>> 
>>> What's interesting about the code in the manifesto is that it looks very much like "..." is a runtime construct, as opposed to trying the get the compiler to do the heavy lifting.
>>> 
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160605/e1723fdd/attachment.html>


More information about the swift-evolution mailing list