[swift-evolution] [Idea] Allowing most keywords after "."

Erica Sadun erica at ericasadun.com
Fri Feb 26 17:27:56 CST 2016


I honestly like upper camel. I know my reasons are linguistically unsupported: static members are not types. But it seems to me that a union type, the fully qualified Type.EnumerationCase specifies the memory layout of how the type is realized. 

Still, I like upper camel. I also like upper case for global functions and constants.

-- E, out of step, out of sync



> On Feb 26, 2016, at 1:43 PM, Douglas Gregor via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Hi all,
> 
> As part of the grand API guidelines discussion, there was a lot of support for using lowerCamelCase for enum cases, because they are values in Swift. One unfortunate wrinkle here is that it’s not at all uncommon to have a case named “Default” for an enumeration. One example pulled randomly from GitHub:
> 
> enum DispatchQOS {
>   case UserInteractive
>   case UserInitiated
>   case Default
>   case Utility
>   case Background
> }
> 
> If we’re lowerCamelCasting enum cases, this becomes:
> 
> enum DispatchQOS {
>   case userInteractive
>   case userInitiated
>   case `default`
>   case utility
>   case background
> }
> 
> Note the back-ticks, which are also needed at the call site:
> 
> 	func dispatch(priority priority: 
> 
> 	dispatch(priority: .`default`) { … }
> 
> We could allow one to refer to keywords without back-ticks following a “.”, similarly to the way we allow keywords without back-ticks preceding a ‘:’ for argument labels, e.g.:
> 
> 	func dispatch(priority priority: 
> 
> 	dispatch(priority: .`default`) { … }
> 
> One would still need to use back-ticks in the declaration of the case, but at least uses would be back-tick-free. Thoughts?
> 
> 	- Doug
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160226/bed4b143/attachment.html>


More information about the swift-evolution mailing list