[swift-evolution] [Proposal Draft] Literal Syntax Protocols

Vladimir.S svabox at gmail.com
Sun Jul 3 08:33:16 CDT 2016


On 02.07.2016 2:59, Dave Abrahams via swift-evolution wrote:
>
> on Fri Jul 01 2016, Adrian Zubarev <swift-evolution at swift.org> wrote:
>
>> The only problem I can see with ExpressibleAs is that it also reads if
>> I could potentially do something like this type <-> literal,
>
> People keep going down that road, but I don't see why.  As far as I
> know, “A is expressible as B” has never implied the converse.

IMO, one can understand ExpressibleAs as 'type can be expressed as literal" 
in meaning that there is some property or method to "express" type as 
literal, and not as literal could be parsed as instance of that type. Just 
throw this into discussion:
IntegerLiteralParsingTarget
Parser.IntegerLiteralTarget
IntegerLiteralInterpretation
Syntax.ParseableAsIntegerLiteral
Syntax.IntegerLiteralAssignable


>
> Example: “The semantics of this method are expressible as a single verb
>          phrase”
>
>          “Pi is expressible as the sum of an infinite series of
>          fractions”
>
>> but the direction type -> literal is impossible.
>>
>> --
>> Adrian Zubarev
>> Sent with Airmail
>>
>> Am 1. Juli 2016 um 23:33:19, Matthew Johnson via swift-evolution
>> (swift-evolution at swift.org) schrieb:
>>
>>> On Jul 1, 2016, at 3:59 PM, Dmitri Gribenko via swift-evolution
>>> <swift-evolution at swift.org> wrote:
>>>
>>> On Fri, Jul 1, 2016 at 1:35 PM, Dave Abrahams via swift-evolution
>>> <swift-evolution at swift.org> wrote:
>>>> I think if `Syntax.IntegerLiteral` is actually unclear then the best
>>>> cure is `ExpressibleAsIntegerLiteral` (no namespace needed). None of
>>>> the other suggestions I've seen describe what the protocol means as well
>>>> as that. I've asked Matthew to update the proposal accordingly.
>>>
>>> I also like `ExpressibleAsIntegerLiteral`. It uses the ~ible/~able
>>> convention which suggests a capability, and when the name is worded
>>> like this, it is definitely describing a capability of the type.
>>
>> I like it quite a bit as well. It’s the best name anyone has suggested.
>>
>> I have updated the proposal to reflect this decision. Any further
>> comments should be in the context of this new draft.
>>
>>>
>>> Dmitri
>>>
>>> --
>>> main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
>>> (j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/
>>> _______________________________________________
>>> 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