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

Haravikk e-mail at haravikk.me
Thu Jan 28 18:04:50 CST 2016


> On 28 Jan 2016, at 22:37, Joe Groff via swift-evolution <swift-evolution at swift.org> wrote:
> 
> 
>> On Jan 28, 2016, at 2:36 PM, Jacob Bandes-Storch <jtbandes at gmail.com> wrote:
>> 
>> I like this idea, but the syntax seems dangerously close to a call site for  "func *(lhs: Int, rhs: Any.Type)"  (which is obviously ill-advised, but it is allowed).
>> 
>> Maybe we could take advantage of something which would be very invalid under the current grammar, namely (n T) rather than (n * T):
>> 
>>    let values: (4 Int) = (1, 2, 3, 4)
> 
> Sure, or we could lift (4 x Int) from LLVM IR's syntax.

How about:

	let values:Int[4] = (1,2,3,4)

While it looks a bit like a subscript, it doesn’t make sense in a type declaration at present, so could be a good way to define restrictions of this type (we could even extend it to collections later). If the similarity is too close then:

	let values:(Int[4]) = (1,2,3,4)

Could work too? Just some alternatives anyway, as I like the idea.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160129/33ef7ac1/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2475 bytes
Desc: not available
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160129/33ef7ac1/attachment.p7s>


More information about the swift-evolution mailing list