[swift-evolution] Proposal: Contiguous Variables (A.K.A. Fixed Sized Array Type)

Chris Lattner clattner at apple.com
Fri Jan 29 15:43:39 CST 2016


On Jan 29, 2016, at 11:23 AM, Jordan Rose via swift-evolution <swift-evolution at swift.org> wrote:
>> On Jan 29, 2016, at 10:43, Joe Groff via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>> 
>>> On Jan 28, 2016, at 9:24 PM, FĂ©lix Cloutier <felixcca at yahoo.ca <mailto:felixcca at yahoo.ca>> wrote:
>>> 
>>> To me, it's closely related to the declaration issue. By introducing a (N x Type) syntax, we're solving the LHS problem but leaving the RHS problem intact. If we want to spin it off into a separate proposal, I think that the most logical split is to have a proposal for subscripts on uniform tuples, and a a proposal for the shorthand syntax and a way to initialize values of these types.
>> 
>> Just spitballing…we could bring the N x <expr> syntax to expressions as well, so that (5 x 0) is (0,0,0,0,0), and maybe (1, 3 x 0, 2) is (1, 0, 0, 0, 2). With integer literals it's hard to tell which side is which, though...
> 
> Throwing out some possibilities:
> 
> var buffer: FixedSizeBuffer = (0...)
> var buffer: FixedSizeBuffer = (* x 0)
> var buffer: FixedSizeBuffer = (repeat 0)

How about:  
  FixedSizeBuffer(0)

We introduce initializer expression syntax for tuples that takes an element, and define it to be a splat in the case of a homogenous tuple, or an error if not.

-Chris


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


More information about the swift-evolution mailing list