[swift-evolution] [Proposal Draft] Literal Syntax Protocols
Sean Heber
sean at fifthace.com
Tue Jun 28 22:21:56 CDT 2016
IntegerLiteralExpressable?
Does Apple employ any philosophers? We might need one...
l8r
Sean
Sent from my iPad
> On Jun 28, 2016, at 10:02 PM, Erica Sadun <erica at ericasadun.com> wrote:
>
>
>> On Jun 28, 2016, at 8:08 PM, Sean Heber <sean at fifthace.com> wrote:
>>
>> What about..
>>
>> Syntax.ConvertibleFromIntegerLiteral
>> etc..
>
> I like it but Dave has already expressed that this isn't conversion. This
> is something distinct, magical, and more importantly, ineffable.
>
> He says it means an instance of the type can be written as a literal, and
> not converted from a literal. He writes:
>
>> Conformance to this protocol does *not* mean you can initialize the type with
>> a literal.
>>
>> Proof:
>>
>> func f<T: IntegerLiteralConvertible>() -> T {
>> return T(integerLiteral: 43) // Error
>> return T(43) // Also an Error
>> }
>>
>> It means an instance of the type can be *written* as a literal:
>>
>> func f<T: IntegerLiteralConvertible>() -> T {
>> return 43 // OK
>> }
>>>
>
> So we're looking at something more like:
>
> Syntax.AnIntegerLiteralCanBeSubstitutedForThisTypeAndTheCompilerWillNotBarf
>
> -- E
>
>
More information about the swift-evolution
mailing list