<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br></div><div>On Mar 9, 2017, at 04:40, Ross O'Brien via swift-evolution <<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">I could see a purpose for identifiers which started numbers but weren't entirely numerical.<div>e.g.<br></div><div>enum Dimensions { case `2D`, `3D` }</div><div>enum DiceRoll { case d6, `2d6` }</div><div>func roll(dice: DiceRoll) -> Int { ... }</div><div>roll(.`2d6`)</div><div><br></div><div>I'm not sure I see one for identifiers which are entirely numerical.</div></div></div></blockquote><br><div>That's certainly a much easier sell... How does "_" fit into this? I know `123_456` is a valid integer literal and that `_1` is a valid identifier. I don't know if `_1` is a valid integer literal.</div><div><br></div><div>I'd <i>like</i> to support purely numeric identifiers, but I can't think of a way around the ambiguity of `3.0`. Maybe only allow it if the enclosing type isn't ExpressibleByIntegerLiteral? It feels more than a bit odd, though, to have a property name's validity depend on whether or not it's in a ExpressibleByIntegerLiteral type.</div><div><br></div><div>- Dave Sweeris</div><div><br></div></body></html>