[swift-evolution] commas optional

Dave Yost Dave at Yost.com
Thu Oct 12 13:50:28 CDT 2017


Speaking as a huge fan of optional semicolons...


This seems clear:

     semicolon : sequence of statements
  :: comma     : sequence of elements in an array literal

and so it occurred to me that this should hold:

     A semicolon : the last statement     on a line.
  :: A comma     : the last array element on a line.

  ∴  A comma after the last array element on a line should be optional.

and these should be legal Swift:

  let list = [
      1
      2
  ]

  let dict = [
      1 : 2
      2 : 3
  ]

equivalent to:

  let list = [ 1, 2 ] ; let dict = [ 1 : 2, 2 : 3 ]


Or, as the Language Reference would say:

A semicolon (;) can optionally appear after any statement and is used to separate multiple statements if they appear on the same line.

A comma (,) can optionally appear after any element of an array literal and is used to separate multiple elements if they appear on the same line.

Or:

A semicolon (;) separates statements but is optional after the last statement on a line.

A comma (,) separates elements of an array literal but is optional after the last element on a line.


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


More information about the swift-evolution mailing list