Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design overview update part 1 #1274

Merged
merged 48 commits into from
Jun 9, 2022
Merged

Design overview update part 1 #1274

merged 48 commits into from
Jun 9, 2022

Conversation

josh11b
Copy link
Contributor

@josh11b josh11b commented May 18, 2022

Reorganizes the sections, and makes a pass filling in and updating the first sections including: types, functions, user-defined types. The following sections are left for part 2, including names, generics, and interop.

Also some smaller updates to, not revisiting the text: pattern_matching.md, control_flow/return.md, and lexical_conventions/numeric_literals.md

@josh11b josh11b requested review from a team as code owners May 18, 2022 00:23
docs/design/README.md Outdated Show resolved Hide resolved
docs/design/README.md Outdated Show resolved Hide resolved
docs/design/README.md Outdated Show resolved Hide resolved
docs/design/README.md Show resolved Hide resolved
docs/design/README.md Outdated Show resolved Hide resolved
docs/design/README.md Outdated Show resolved Hide resolved
docs/design/README.md Outdated Show resolved Hide resolved
docs/design/README.md Outdated Show resolved Hide resolved
docs/design/README.md Outdated Show resolved Hide resolved
docs/design/README.md Outdated Show resolved Hide resolved
Co-authored-by: Geoff Romer <gromer@google.com>
Copy link
Contributor

@chandlerc chandlerc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussed the structure a bit with Josh, and he made a good point that it is much more likely to be productive to revisit the structure as the content becomes more complete. I'm pretty happy postponing too much more debate around the macro level structure and getting the content in place, so I've tried to avoid further comments there.

Most of the comments are actually pretty minor or trivial tweaks. I think I started fading a bit in the second half of the document, but overall this is looking generally quite good to me. See the tweaks in line.

docs/design/README.md Outdated Show resolved Hide resolved
docs/design/README.md Show resolved Hide resolved
docs/design/README.md Outdated Show resolved Hide resolved
docs/design/README.md Outdated Show resolved Hide resolved
docs/design/README.md Outdated Show resolved Hide resolved

### Expressions
Decimal and hexadecimal real-number literals are supported:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a bit of an introduction to transition from "floating-point literals" in the section heading to "real-number literals" with a bit of the justification?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

docs/design/README.md Outdated Show resolved Hide resolved
Comment on lines +103 to +105
This document is _not_ a complete programming manual, and, nor does it provide
detailed and comprehensive justification for design decisions. These
descriptions are found in linked dedicated designs.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing that I was wondering as I skimmed this was, would it make sense to only include individual proposals when they aren't yet integrated into the dedicated design?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would be less maintenance, but I do think including all relevant proposals will provide value to our target audience. Generally the titles are enough to decide whether they would be worth clicking through.

Comment on lines 592 to 600
Binding patterns default to `let` bindings except inside a context where the
`var` keyword is used:

- The result of a `let` binding is the name is bound to an
[r-value](<https://en.wikipedia.org/wiki/Value_(computer_science)#lrvalue>).
This means the value can not be modified, and its address cannot be taken.
- A `var` binding has dedicated storage, and so the name is an
[l-value](<https://en.wikipedia.org/wiki/Value_(computer_science)#lrvalue>)
which can be modified and has a stable address.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, deferring this for now makes sense.

docs/design/README.md Outdated Show resolved Hide resolved
@josh11b josh11b merged commit 6d5b1a0 into carbon-language:trunk Jun 9, 2022
@josh11b josh11b deleted the overview branch June 9, 2022 19:58
josh11b added a commit that referenced this pull request Jun 12, 2022
This follows #1274 . It mainly fills in the "generics" section, with smaller updates to other section.

Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
josh11b added a commit that referenced this pull request Jun 14, 2022
This follows #1274 and #1325 and fills in the "safety" section. It only covers our approach in general terms.

Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
josh11b added a commit that referenced this pull request Jun 28, 2022
This follows #1274 , #1325 , and #1328 . It fills in the "Bidirectional interoperability with C and C++" section.

Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
Co-authored-by: Geoff Romer <gromer@google.com>
chandlerc added a commit that referenced this pull request Jun 28, 2022
Reorganizes the sections, and makes a pass filling in and updating the first sections including: types, functions, user-defined types. The following sections are left for part 2, including names, generics, and interop.

Also some smaller updates to, not revisiting the text: `pattern_matching.md`, `control_flow/return.md`, and `lexical_conventions/numeric_literals.md`

Co-authored-by: Geoff Romer <gromer@google.com>
Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
chandlerc added a commit that referenced this pull request Jun 28, 2022
This follows #1274 . It mainly fills in the "generics" section, with smaller updates to other section.

Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
chandlerc added a commit that referenced this pull request Jun 28, 2022
This follows #1274 and #1325 and fills in the "safety" section. It only covers our approach in general terms.

Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
chandlerc added a commit that referenced this pull request Jun 28, 2022
This follows #1274 , #1325 , and #1328 . It fills in the "Bidirectional interoperability with C and C++" section.

Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
Co-authored-by: Geoff Romer <gromer@google.com>
josh11b added a commit that referenced this pull request Jul 6, 2022
This follows #1274 , #1325 , #1328 , and #1336 . It fills in the "Names" section.

Co-authored-by: Richard Smith <richard@metafoo.co.uk>
Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
josh11b added a commit that referenced this pull request Jul 8, 2022
This follows #1274 , #1325 , #1328 , #1336 , and #1347 . This has miscellaneous changes to the design overview without a particular focus.

Also adds some missing keywords to our list of keywords.

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
josh11b added a commit that referenced this pull request Jul 15, 2022
This follows #1274 , #1325 , #1328 , #1336 , #1347 , and #1368 . This fills in details about how values work, value categories, parameter passing, unformed state, and so on.

Co-authored-by: Geoff Romer <gromer@google.com>
Co-authored-by: Richard Smith <richard@metafoo.co.uk>
Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
@chandlerc chandlerc added the documentation An issue or proposed change to our documentation label Jan 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation An issue or proposed change to our documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants