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

Matthew Johnson matthew at anandabits.com
Fri Jul 1 11:12:44 CDT 2016


> On Jul 1, 2016, at 11:00 AM, Erica Sadun <erica at ericasadun.com> wrote:
> 
> The best way to pass the Dave Test is to ask him directly, for example:
> 
> Dave:
> 
> Do you think the stdlib team would be okay with a naming scheme like 
> Syntax.Literal.ArrayProtocol,  Syntax.Literal.IntegerProtocol, etc. We think 
> this produces a clear description of the conformant role and one that is unlikely to be 
> misinterpreted. It may read less fluently but it's also less subject to confusing users. 
> 
> This naming scheme uses the Syntax namespacing, and creates a Literal subspace. 
> Each protocol is named as "XXXXProtocol". This introduction a distinction between 
> "This is/can be used as  an integer literal" and "Conforming to this protocol ensures
> that an instance of the type can be written as an integer literal". 
> 
> The problem with earlier approximations was that people saw "Syntax.IntegerLiteralXXX" 
> and thought the typed could be substituted into expressions where an integer literal
> was used, and not that an integer literal could be be used to write an instance of 
> the type.
> 
> So what do (and your team) think of this idea?
> 
> -- Adrian (and Erica)

This one has been added to the alternatives section of the proposal.  I expect the bike shedding to continue during review and expect the core team to exercise judgement in selecting the final naming scheme.


> 
> 
>> On Jul 1, 2016, at 2:08 AM, Adrian Zubarev via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>> We haven’t pass the dave test yet? :D 
>> 
>> Still curious what he’d say about Syntax.Literal.*Protocol
>> 
>> One more question:
>> 
>> What can the namespace Syntax could be used for except for literals, any idea? (I have no clue.)
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160701/c7a2c1e3/attachment.html>


More information about the swift-evolution mailing list