-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Basic classes: use cases, struct literals, struct types, and future work #561
Merged
+1,217
−173
Merged
Changes from 1 commit
Commits
Show all changes
83 commits
Select commit
Hold shift + click to select a range
f4a7568
Filling out template with PR 561
josh11b ed189a9
Fill in proposal template
josh11b f03e0d6
Checkpoint progress.
josh11b 815ee7b
Filling out template with PR 561
josh11b 2c26238
Fill in proposal template
josh11b 5304872
Checkpoint progress.
josh11b e914354
Update README.
josh11b cd5b3c2
Merge remote-tracking branch 'refs/remotes/origin/structs-2' into str…
josh11b 7e3933b
Checkpoint progress.
josh11b 4babbcb
Checkpoint progress.
josh11b 5b441c8
Filling out template with PR 561
josh11b 6239f7a
Fill in proposal template
josh11b 12e08df
Checkpoint progress.
josh11b 4895b04
Update README.
josh11b aa48975
Checkpoint progress.
josh11b ff68585
Checkpoint progress.
josh11b c544b0a
Merge branch 'structs-2' of github.com:josh11b/carbon-lang into struc…
josh11b e9827b3
Iterate on use case text.
josh11b ba73b43
Checkpoint progress.
josh11b a5ac27f
Checkpoint progress.
josh11b 25cf0b7
Use cases are in pretty good shape now.
josh11b 7869741
Checkpoint progress.
josh11b 8972a40
First complete version.
josh11b a703cbd
Checkpoint progress.
josh11b 303fcd5
Merge remote-tracking branch 'upstream/trunk' into structs-2
josh11b dae391f
Replace "parent/child" with "base/derived type".
josh11b 3a58e7f
Further fix terminology.
josh11b 21a9923
Apply suggestions from code review
josh11b 65b0d39
Use "anonymous" and "nominal" instead of "(un)named"
josh11b 34fd7ba
Better rationale for distinct syntax for types.
josh11b ca48a17
Address syntax ambiguity of `{`
josh11b 6f94997
Add non-virtual inheritance, TODOs, clarification
josh11b bd34505
Rename "data type" to "data class"
josh11b 09679f3
Fix formatting and linking.
josh11b da2d0f8
Difference and overlap between ABC and polymorphic types.
josh11b 13f4f2d
Clarify polymorphic types based on review
josh11b 96bb407
May support ABCs long term
josh11b 2703122
New name for ABCs?
josh11b b2b2314
Resolution of #494 and `alias`->`let`
josh11b a7d6fbb
Questions about `let`
josh11b 6e161e9
Part way through redoing use cases
josh11b 4690658
Checkpoint progress.
josh11b 48181d5
Checkpoint progress.
josh11b 2b56c8a
Checkpoint progress.
josh11b f36ce10
Apply suggestions from code review
josh11b 5cb3318
Apply suggestions from code review
josh11b 8dd821f
Fix line breaks
josh11b aa0bad5
Incorporate suggestion
josh11b 85cbed7
Big fixes to use cases, add computed properties
josh11b 46ae873
Updates to the last half
josh11b 86941fa
Anonymous type declarations are really just type expressions
josh11b 4be36a1
Implementing interfaces for data classes
josh11b f0ac344
Expand alternatives considered
josh11b e4e83d5
Open questions about assign and init
josh11b 2dd640c
Merge remote-tracking branch 'upstream/trunk' into structs-2
josh11b 7cbb93b
Updates
josh11b 201649a
Mixin open questions
josh11b 1fe6d52
Answer an open question
josh11b d3c6590
Tuples act like data classes for blanket interface impl
josh11b 3e3b6e4
Include resolution of issues #651 and #653
josh11b 7f5abad
`struct` -> `class` in README
josh11b c856bee
Rename structs.md to classes.md
josh11b 9f7cf2b
struct -> class
josh11b ccf0f4d
struct -> class in proposal
josh11b bb3abb8
Clarify that struct types are a subset of data class types
josh11b 0d0aa69
struct -> class in generics design docs
josh11b 2c4e1d5
Fix old `struct` refs, `struct` is not a keyword
josh11b 79794d2
Use for properties from KateGregory
josh11b f865d76
Apply suggestions from code review
josh11b 2477335
Fix formatting
josh11b 0939ce3
Update problem statement in proposal
josh11b 80eb33c
Match `impl` syntax from #575.
josh11b 0913cbd
"class" instead of "`class`"
josh11b f66dbfa
Small fixes to "access control" alternatives
josh11b 3543e28
Apply suggestions from code review
josh11b dc1e48f
Comparisons question is now #710.
josh11b 95c9aa5
Merge branch 'trunk' into structs-2
josh11b 0dc39ea
Fix formatting
josh11b eae9b5e
Move struct field defaults and option parameters to future work
josh11b 7e04407
Allow trailing comma
josh11b 68720ec
Update docs/design/classes.md
josh11b ff1c37b
Empty `{}` case, fix formatting
josh11b 85587dc
No `{,}`
josh11b File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Checkpoint progress.
commit 4babbcbcacd5283d593ea489d97403fc5a364053
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This term has a pre-existing meaning in common use that's very different from the definition here (e.g. try asking a programmer whether
Int
andString
are data types), so I think we're going to need to coin a new term for this. "Plain struct types", maybe?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've renamed to "data classes" based on the usage in Kotlin and Python.