[swift-evolution] Anonymous Enums

Erica Sadun erica at ericasadun.com
Fri Feb 19 15:00:18 CST 2016


The proposed `func adjustTemperature(temp:[low|normal|high])` would likely have grammar issues.

-- E

> On Feb 19, 2016, at 1:57 PM, Harlan Haskins <harlan at harlanhaskins.com> wrote:
> 
> My worry is that this isn’t very different from
> 
> enum Temperature { case low, normal, high }
> 
> It’s 7 more characters and fully expressible now.
> 
> - Harlan
> 
>> On Feb 19, 2016, at 12:48 PM, Sean Heber via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>> I too very much like the cleverness of this, but in my experience often what is initially a single-use enum turns into a multi-use enum in short order, so I don’t know if I’d be able to use this much at the end of the day.
>> 
>> Gotta say I like that syntax, though. Could be neat as a shorthand for defining regular enum cases, maybe! :P
>> 
>> enum Temperature = [low | normal | high]
>> 
>> l8r
>> Sean
>> 
>> 
>>> On Feb 19, 2016, at 2:42 PM, Erica Sadun via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>> 
>>> It's certainly clever and I particularly like the temperature example.
>>> 
>>> -- E
>>> 
>>> 
>>>> On Feb 19, 2016, at 9:46 AM, Yong hee Lee via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>> 
>>>> Hi, I have a proposal.
>>>> 
>>>> 
>>>> enum Foo {
>>>>  case foo,bar
>>>> }
>>>> 
>>>> func test(a:Foo) {
>>>>  // …
>>>> }
>>>> 
>>>> test(.bar)
>>>> 
>>>> 
>>>> If I use an enum only as a parameter of a function, the name of enum  is redundant. 
>>>> 
>>>> so I suggest a compact version like below.
>>>> 
>>>> 
>>>> 
>>>> func test(a:[foo|bar]) {
>>>>  // ...
>>>> }
>>>> 
>>>> test(.bar)
>>>> 
>>>> 
>>>> 
>>>> func adjustTemperature(temp:[low|normal|high]) {
>>>>  // ...
>>>> }
>>>> 
>>>> adjustTemperature(.high)
>>>> 
>>>> 
>>>> 
>>>> I think this is very useful.
>>>> What do you think?
>>>> 
>>>> _______________________________________________
>>>> swift-evolution mailing list
>>>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>> 
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto: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/20160219/ab8834d5/attachment.html>


More information about the swift-evolution mailing list