carbon-lang icon indicating copy to clipboard operation
carbon-lang copied to clipboard

Make proposal for semicolons

Open jonmeow opened this issue 3 years ago • 4 comments

End-of-statement semicolons were the topic of leads question https://github.com/carbon-language/carbon-lang/issues/1924. The question was resolved, and the comment https://github.com/carbon-language/carbon-lang/issues/1924#issuecomment-1207586109 provides their decision.

Because the question was asked independent of a proposal, a standard proposal is still needed for evolution review, essentially translating the issue into a proposed solution with rationale, alternatives considered, etc. This issue is to track the proposal need.

jonmeow avatar Aug 11 '22 23:08 jonmeow

I'd love to get more involved with the proposal process, so I would like to give this a try :smiley:

junlarsen avatar Aug 12 '22 15:08 junlarsen

Sure, please feel free to pick this up -- I've assigned it to you to help track. Note on #1999 there's a question if we should combine this more generally with statement blocks if you want to grab both together, because it's all related (right now, the main place for semicolons being at the end of statements).

Note, I don't think explicit examples came up on #1924 or #1739, but it'd probably help to give examples where line ending placement may be ambiguous if inferred (particularly when both interpretations lead to valid code). Going over how a few other languages have implemented this and the trade-offs in alternatives would help flesh out semicolons in particular; JS was noted along with a blog link from the designer, but Python and Swift would probably also offer good background as different approaches.

jonmeow avatar Aug 12 '22 16:08 jonmeow

Been quite busy lately but I just wanted to post an update.

I've been working on a draft in a google doc and hope to have an initial version up for review the coming week or so :)

junlarsen avatar Sep 07 '22 22:09 junlarsen

FWIW, sharing the google doc first in Discord is always a great way to get early comments and easy suggestions / collaboration. May be worth pinging people directly.

chandlerc avatar Sep 08 '22 00:09 chandlerc

We triage inactive PRs and issues in order to make it easier to find active work. If this issue should remain active or becomes active again, please comment or remove the inactive label. The long term label can also be added for issues which are expected to take time. This issue is labeled inactive because the last activity was over 90 days ago.

github-actions[bot] avatar Dec 07 '22 02:12 github-actions[bot]

I'm going to pick this up to get the rationale formally adopted, just because it came up again recently.

jonmeow avatar Mar 09 '23 17:03 jonmeow