In that case it was because $ was not allowed in operators. Here it’s just not allowed at all!
Nevertheless, the irony is delicious, ~Robert Widmann > On Sep 22, 2016, at 2:05 AM, Jacob Bandes-Storch <jtban...@gmail.com> wrote: > > On Sun, Sep 18, 2016 at 6:34 PM, Robert Widmann <devteam.cod...@gmail.com > <mailto:devteam.cod...@gmail.com>> wrote: > Some thoughts > >> On Sep 18, 2016, at 3:33 PM, Jacob Bandes-Storch via swift-evolution >> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote: >> >> TL;DR: >> >> Swift 4 Stage 1 seeks to prioritize "Source stability features". Most >> source-breaking changes were done with in Swift 3; however, the >> categorization of Unicode characters into identifiers & operators was never >> thoroughly discussed on swift-evolution. This seems like it might be our >> last chance, and I think there are some big improvements to be had. >> >> I've gathered some information+thoughts into an early-stage pitch / >> pre-proposal. It doesn't really have a conclusion, so I'm hoping we can >> discuss these issues and come up with good (pragmatic) solutions here. I >> imagine this can morph into a proposal later. >> >> You can read the following in nicer HTML form at >> https://gist.github.com/jtbandes/c0b0c072181dcd22c3147802025d0b59 >> <https://gist.github.com/jtbandes/c0b0c072181dcd22c3147802025d0b59> >> >> I look forward to the discussion! >> >> -Jacob >> >> # Background and motivation >> >> To ease lexing/parsing and avoid user confusion, the names of custom >> identifiers (type names, variable names, etc.) and operators in Swift can be >> composed of (mostly) separate sets of characters. >> >> Using terminology from TSPL: >> >> `identifier-head`/`operator-head` are characters which can begin an >> identifier or operator. >> >> `identifier-character`/`operator-character` are characters which can appear >> anywhere in an identifier or operator (these are supersets of the `-head` >> sets). >> >> <https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/LexicalStructure.html >> >> <https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/LexicalStructure.html>> >> >> (Note also that some particular arrangements of characters are reserved; for >> instance, `$` followed by digits for an implicit closure parameter, and "If >> an operator doesn’t begin with a dot, it can’t contain a dot elsewhere." >> There are also special characters in the language which are neither >> identifiers nor operators, such as: `()[]{},:@#`) >> >> >> ## Prior discussion on swift-evolution >> >> "Request to add middle dot (U+00B7) as operator character?" >> <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151214/003176.html >> >> <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151214/003176.html>> >> >> "Free the '$' Symbol!" >> <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151228/005133.html >> >> <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151228/005133.html>> >> >> "Proposal: Allow Single Dollar Sign as Valid Identifier" >> <https://github.com/apple/swift-evolution/pull/354 >> <https://github.com/apple/swift-evolution/pull/354>> >> >> >> Chris Lattner has said: >> >> > "...our current operator space (particularly the unicode segments covered) >> > is not super well considered. It would be great for someone to take a >> > more systematic pass over them to rationalize things." >> >> > "We need a token to be unambiguously an operator or identifier - we can >> > have different rules for the leading and subsequent characters though." >> > > I feel a bit bad having implemented the patch that banned this - it feels > like dollar was mistakenly left out of the operator character range > considering how well it worked in operators up to then. Disambiguation with > respect to other language constructs (anonymous parameters in closures and > LLDB variables) is trivial and we already had diagnostics about it. > > But more importantly, you were also the one who first asked for it to be an > operator character :-) > https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151228/005133.html > > <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151228/005133.html> > > Did you have a formal proposal in the works for this? If so, it might be > worth reviewing separately from any other changes. $ is a more well-known > character, and probably more likely to elicit opinions than some more obscure > Unicode stuff.
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution