[swift-evolution] Remove nil and NilLiteralConvertible
Sean Heber
sean at fifthace.com
Wed Jun 8 15:55:57 CDT 2016
If you add a new keyword called “none” without the period, but keep allowing “.none” to work because Optional is really an enum… then I don’t really see what has been gained here at all - you’re basically back to nil/.none => 2 ways to say the same thing!
l8r
Sean
> On Jun 8, 2016, at 3:52 PM, Brandon Knope via swift-evolution <swift-evolution at swift.org> wrote:
>
> .none or a more appropriate keyword like “none” (imo)
>
> Brandon
>
>> On Jun 8, 2016, at 4:47 PM, Xiaodi Wu via swift-evolution <swift-evolution at swift.org> wrote:
>>
>> It's been pointed out before that Optional being an enum type is treated like an implementation detail. Currently, it is possible to teach the concept of Optional without introducing enum types or generics. How would you do so after elimination of nil?
>>
>>
>> On Wed, Jun 8, 2016 at 3:41 PM, Антон Жилин <swift-evolution at swift.org> wrote:
>> (No joking)
>> Points:
>>
>> 1. When nil was added to the language, we could not infer enumeration type:
>> if x != Optional.none { ... }
>>
>> Now it looks like this:
>> if x != .none { ... }
>>
>> If at this point we had a proposal to add nil as a replacement for .none, would we accept it?
>>
>> 2. nil is very generic, it only approximately allows to express the intentions.
>> In case of Optional, .none is clearer. In case of JSON processing, .null is clearer. In case of a semantically nullable struct, NilLiteralConvertible usually goes to default constructor.
>>
>> 3. Too many "empty" things: .none, nil; NSNull, Void, NoReturn types.
>>
>> 4. There should be a single consistent terminology: no value in Swift equals none.
>>
>> - Anton
>>
>> _______________________________________________
>> 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
>
> _______________________________________________
> 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