That's exactly the point I was going for. 

none makes more sense in this context than nil in my opinion

Brandon 

> On Jun 7, 2016, at 8:10 PM, Saagar Jha <saagarjh...@gmail.com> wrote:
> 
> Well, some is the opposite of none in that if I don’t have some, I have none. 
> nil is just a carry-over from Objective-C.
> 
>> On Tue, Jun 7, 2016 at 5:07 PM Brandon Knope via swift-evolution 
>> <swift-evolution@swift.org> wrote:
>> I guess for me it comes down to this:
>> 
>> Why were some and none chosen for as the cases for Optional?
>> 
>> As an extension of that, why does nil then represent none instead of the 
>> obvious none?
>> 
>> There has to be a reason why it's not:
>> 
>> enum Optional<T> {
>> case some(T)
>> case nil
>> }
>> 
>> None seems a lot more expressive and consistent with Optional. 
>> 
>> I am comfortable and use to nil, but with swift being a new language, I 
>> thought it was worth opening up a discussion about possibly changing 
>> direction a little here. 
>> 
>> Thanks,
>> Brandon 
>> 
>>> On Jun 7, 2016, at 7:57 PM, Jordan Rose <jordan_r...@apple.com> wrote:
>>> 
>>> There are NilLiteralConvertible types other than Optional, but they’re 
>>> dwindling now that pointer nullability is represented by Optional. That 
>>> said, I’m not convinced renaming “nil” is worth it at this point. 
>>> Similarity with other languages is still a good thing.
>>> 
>>> It’s true that we might not have picked nil if it hadn’t been for 
>>> Objective-C, but that doesn’t make it an invalid choice. There are lots of 
>>> things in Swift we might have done differently if it weren’t for 
>>> Objective-C and Cocoa.
>>> 
>>> Jordan
>>> 
>>> 
>>>> On Jun 5, 2016, at 12:35, Brandon Knope via swift-evolution 
>>>> <swift-evolution@swift.org> wrote:
>>>> 
>>>> Quick thought:
>>>> 
>>>> If optional has a .none case, wouldn't it be more consistent to rename nil 
>>>> to none?
>>>> 
>>>> Also, would nil make it into Swift if not for other languages?
>>>> 
>>>> It also might make it somewhat clearer:
>>>> 
>>>> var someInt: Int? = none //looks less like a pointer and more like a value 
>>>> of nothing 
>>>> 
>>>> 1. It is more consistent with the optional enum
>>>> 2. The intent is arguably clearer
>>>> 3. nil makes it seem like it's a pointer 
>>>> 4. Would nil be included if not for prior languages? Would "none" have 
>>>> been chosen as the keyword if nil wasn't prior art?
>>>> 
>>>> One disadvantage is how close it is to .none, but with how common nil/none 
>>>> is used, some syntactic sugar might make it look nicer than always having 
>>>> the stray .
>>>> 
>>>> On vacation from Orlando, poolside, with a quick thought,
>>>> Brandon 
>>>> _______________________________________________
>>>> swift-evolution mailing list
>>>> swift-evolution@swift.org
>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> -- 
> -Saagar Jha
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to