On Jan 8, 2017, at 09:33, Freak Show <freaksho...@mac.com> wrote:
>> On Jan 7, 2017, at 22:51, David Sweeris <daveswee...@mac.com> wrote:
>
>> A really convenient way to pass around multiple values without having to
>> bother with a formal struct.
>
> That's actually a big part of my concern.
>
> The people on this list are, I'm certain, among the top programmers working.
>
> I'm more worried about what happens when average (which IME means barely
> competent) developers get going with this. I suspect nobody will ever
> declare a struct again.
Doubtful, since tuples can't have any computed properties, functions, or
conform to protocols.
> Type declarations are valuable - they are an opportunity to express intent.
> OTOH, a pair of ints is a pair of ints and if all pairs of ints are type
> compatible then opportunities for catching errors drop if developers start
> favoring anonymous tuples over former structs.
I don't think they are... "(Int, Int)" (without labels) will type-check to any
pair of Ints, but IIRC "(x:Int, y:Int)" won't type-check to "(a:Int, b:Int)".
>> On Jan 7, 2017, at 23:37, Derrick Ho <wh1pch...@gmail.com> wrote:
>>
>> I think pattern matching is the most compelling reason to keep tuples.
>>
>> If they were gone, how would we replace the following?
>>
>> switch (a, b) {
>> case (value1, value2):
>> case (value3, value4):
>> }
>
>
> I really have to ask. What do you use this for? In general iPhone
> application programming I have never wanted or needed to do that. I do some
> AudioUnits as well. Still never needed it.
"Need" is a strong word... Yeah, I could switch over the first value and then
for every single case nest another switch over the second value, but that'd be
annoying and obscure the underlying logic.
- Dave Sweeris
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution