Now *that* reminds me of the _ voodoo in perl... and i was under the impression 
that magic symbols are not highly regarded in swift (which I really 
appreciate!!)

Regards
LM
(From mobile)

> On May 17, 2016, at 5:31 PM, Patrick Smith via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> Here’s a idea, what if you could use a symbol to denote that you want the 
> same name used?
> 
> Here’s an interesting sign from music: 
> https://en.wikipedia.org/wiki/Repeat_sign
> 
> Then you can write (one) of these:
> 
> if let |: = mySomeValue {
>   // Use unwrapped
> }
> 
> if let mySomeValue = :| {
>   // Use unwrapped
> }
> 
> Not sure which one is more clear. Just a totally random idea! I’m not sure 
> about the above symbols, but it would help in other places too from memory to 
> not have to write the same variable name twice.
> 
>>> On 18 May 2016, at 1:18 AM, Matthew Johnson via swift-evolution 
>>> <swift-evolution@swift.org> wrote:
>>> 
>>> 
>>> On May 17, 2016, at 10:13 AM, Tony Allevato via swift-evolution 
>>> <swift-evolution@swift.org> wrote:
>>> 
>>> While I've sometimes (early on) wished for a shorter-hand syntax for that 
>>> construct, I've never been able to think of something that I thought was 
>>> better. I've gotten to the point where I don't particularly mind it anymore.
>>> 
>>> Regarding the exclamation point specifically, seeing one of those in an 
>>> expression context says to me "this thing will die horribly if it is 
>>> nil/throws an error". Using it in this context where that's not the case 
>>> would probably go against users' expectations.
>> 
>> Agree.  If we are going have syntax similar to pattern matching it should be 
>> the same as pattern matching.  This would mean using ‘?' rather than ‘!’.  
>> However, we already have generalized pattern matching with `if case` for 
>> that.  This topic has been debated extensively.
>> 
>>> 
>>> 
>>>> On Tue, May 17, 2016 at 8:05 AM Vladimir.S via swift-evolution 
>>>> <swift-evolution@swift.org> wrote:
>>>> On 17.05.2016 16:51, Johan Jensen wrote:
>>>>  > This was one of the first and most commonly suggested ideas, when the 
>>>> Swift
>>>>  > Evolution mailing list first started.
>>>>  > Chris Lattner sums it up
>>>>  >
>>>> <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151214/003546.html>
>>>>  > in one of those threads:
>>>>  >
>>>>  >> This is commonly requested - the problem is that while it does help
>>>>  > reduce boilerplate, it runs counter to the goal of improving clarity.
>>>>  >
>>>>  > — Johan
>>>> 
>>>> Oh, thank you for letting this know.
>>>> 
>>>> Well, I totally disagree with Chris. And as soon as there was no 'official'
>>>> proposal and 'official' decision, I'd like to discuss this more.
>>>> 
>>>> I saw a lot of code like
>>>> if let mySomeValue = mySomeValue {} in sources and even in books.
>>>> Plus, I really believe that
>>>> if let mySomeValue! {..} is better in any way: readability, less space for
>>>> errors(when you need to repeat the same name) etc
>>>> 
>>>> FWIW, I suggest more explicit variant:
>>>> if let value! {...} // with exclamation mark
>>>> In that "old" proposal there was `if let value {...}`, was not so clear.
>>>> 
>>>> I can't accept an argument that you can use another name - as usually
>>>> 'good' name is already 'crafted' for the instance and you want to use it in
>>>> next code.
>>>> Otherwise, we need a 'best practice' to name optional variables with some
>>>> prefix or suffix like : mySomeValueOpt, then `if let mySomeValue =
>>>> mySomeValueOpt` will have a sense. But as I understand, we don't want to
>>>> use such approach.
>>>> Additionally, when you shadow optional value with same name - you are
>>>> *protecting* yourself from using optional value inside block of unwrapped
>>>> code. IMO it is a good idea.
>>>> And want we or don't want, we already have this practice widely. So I
>>>> believe this(my) proposal will improve the code.
>>>> 
>>>> I'd like to get opinion of the community regarding this feature.
>>>> 
>>>> On 17.05.2016 16:51, Johan Jensen wrote:
>>>> > This was one of the first and most commonly suggested ideas, when the 
>>>> > Swift
>>>> > Evolution mailing list first started.
>>>> > Chris Lattner sums it up
>>>> > <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151214/003546.html>
>>>> > in one of those threads:
>>>> >
>>>> >> This is commonly requested - the problem is that while it does help
>>>> > reduce boilerplate, it runs counter to the goal of improving clarity.
>>>> >
>>>> > — Johan
>>>> >
>>>> > On Tue, May 17, 2016 at 3:43 PM, Vladimir.S via swift-evolution
>>>> > <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
>>>> >
>>>> >     It is common to shadow optional value name with unwrapped value with
>>>> >     same name:
>>>> >
>>>> >     if let someGoodValue = someGoodValue {...}
>>>> >
>>>> >     What if we'll have a syntax to not repeat the variable name to 
>>>> > achieve
>>>> >     the same target:
>>>> >
>>>> >     if let someGoodValue! {...}
>>>> >
>>>> >     What do you think?
>>>> >     _______________________________________________
>>>> >     swift-evolution mailing list
>>>> >     swift-evolution@swift.org <mailto:swift-evolution@swift.org>
>>>> >     https://lists.swift.org/mailman/listinfo/swift-evolution
>>>> >
>>>> >
>>>> _______________________________________________
>>>> swift-evolution mailing list
>>>> swift-evolution@swift.org
>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution@swift.org
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to