> On 21 Jun 2016, at 22:49, Gwynne Raskind via swift-evolution 
> <[email protected]> wrote:
> 
>> On Jun 21, 2016, at 15:48, Jonathan Cotton via swift-evolution 
>> <[email protected] <mailto:[email protected]>> wrote:
>> 
>> I'd support $() as is in use by other languages, including Kotlin, as 
>> mentioned it seems less disruptive and more inline with the tokenised 
>> parameters that are already supported in closures.
>> 
>>> On 21 Jun 2016, at 21:43, Kenny Wyland via swift-evolution 
>>> <[email protected] <mailto:[email protected]>> wrote:
>>> 
>>> Hi all,
>>> 
>>> I'm new to the list and I just searched through the archives as best I 
>>> could to see if someone else had already brought this up, but I didn't find 
>>> anything. Forgive me if this horse has been beaten.
>>> 
>>> I find that typing \(var) is very disruptive to my typing flow. The more I 
>>> code in Swift, the more I like it, but every time I'm coding and then have 
>>> to hiccup while typing \ then ( causes me to be annoyed. I know, it's 
>>> minor, but it isn't a key combination that flows quickly.
>>> 
>>> I would much rather have $() or perhaps ${} (like Groovy lang) or perhaps 
>>> @() to go along with other uses of @ throughout the language. 
>>> 
>>> A shifted key, like $ or @, followed by another shifted key like (, allows 
>>> for a much faster flow and they are much closer to the home keys than \ 
>>> which is nearly as far from home keys as possible (and awkward). 
>>> 
>>> Thoughts?
>>> 
>>> Kenny Wyland
>>> InADayDevelopment.com <http://inadaydevelopment.com/>
> 
> I have to disagree - The \ syntax is consistent with other string escape 
> sequences (\n etc.) and reads naturally to me in that regard. Additionally, 
> the \ is very visually distinctive in a string, much moreso than the 
> "traditional" $ variable marker. Almost every language I’ve seen using $ for 
> interpolation in strings is doing so because it also uses it as a variable 
> prefix in non-string contexts. To top it off, using $ instead would, for me, 
> just add yet another language for which I have to remember "does the $ go 
> inside or outside the name delimiter braces/brackets/whatever?", "is it 
> parenthesis, braces, brackets, or some other delimiter for variable names?", 
> "what kind of expressions can I use in this context?", "can I use 
> interpolation without any delimiters for simple cases?", etc. See also PHP, 
> Perl, ten flavors of shell scripts, JavaScript, JSP/ASP, XPath, and so forth. 
> The \() syntax is unique to Swift and therefore very easy to remember.

I agree with this; Swift’s only other dollar sign use is for closure shorthand 
variables, which is technically a non-string context but I assume you mean on 
*all* variables. Anyway, I think \() is actually a good way to do this, as it’s 
unambiguous, and not something you’re likely to type by mistake, since you 
don’t need to escape the brackets for any other purpose. The way I think of it 
is as an escape from the string, which is IMO more logical than a variable 
inside a string which dollar notation brings to mind (for me at least).
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to