[swift-evolution] [Pitch] Extending Swift Literals

Daniel Steinberg daniel at dimsumthinking.com
Mon Jul 11 07:03:32 CDT 2016


(Forgot to copy the list)

If what you’re after is cross platform code, then I would rather see types such as Color be standardized to represent a UIColor/NSColor on the appropriate platform. 

Although literals have this benefit, that seems to be a secondary feature of them to me.

Wanting that aspect of literals is, in my opinion, an API request not a language request.

Best,

Daniel
> 
> 
>> On Jul 11, 2016, at 1:53 AM, Erica Sadun via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>> On Jul 10, 2016, at 11:43 PM, Zach Waldowski via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>> 
>>> I share the concern with others about the usefulness of these, but I also like your note about standardizing syntax, and really like that these merge together all the different syntaxes for literals we've seen.
>> 
>> Literals enable you to write cross platform code with a minimum of 
>> redundant and platform-configured code.
>> 
>> In today's Swift, you can say:   let myColor = color literal and that code is 
>> cross-compatible for all Apple platforms, whether UIColor, NSColor, and SKColor.
>> If you write that same request as let myColor = UIColor(...), it will no longer 
>> compile on Cocoa.
>> 
>> I'm proposing to extend these existing behaviors to create common code inherently 
>> universal tasks with common structure: NSFont/UIFont, point2/CGPoint/NSPoint, etc
>> 
>>> To that end, I'd like to modestly suggest that #literal.foo (as already written in the proposal) should be the canonical form of a literal in source text, whereas #foo is the one you see used in the code editor.
>> 
>> I've already filed radars asking that the code editor let you see the raw unrendered literals
>> and heartily encourage duped radars to support that end.
>> 
>>> I'm not a fan of namespacing in #literal, because every literal should obviously be a literal; I wouldn't ever recommend numerals fall under this proposal as written, for instance.
>> 
>> The core team has suggested they'd like to use namespacing, especially with related
>> items that could otherwise spread and grow in an unmanaged way.
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 

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


More information about the swift-evolution mailing list