[swift-evolution] Anonymous Enums

Erica Sadun erica at ericasadun.com
Fri Feb 19 14:52:00 CST 2016


That specific syntax would likely have issues conflicting with parsing collections, but if the idea is sound, a grammar can follow.

-- E
p.s. Also error enumerations would be nice

> On Feb 19, 2016, at 1:48 PM, Sean Heber <sean at fifthace.com> 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> 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> 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
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 



More information about the swift-evolution mailing list