Commit Graph
323 Commits
Author SHA1 Message Date
dd2f7d732c Design updates for #2015 numeric type literal syntax (#2410)
Edit numeric literal design for the literal type proposal and add reference where #2015 was mentioned.

Closes #2159 

Co-authored-by: Richard Smith <richard@metafoo.co.uk>
Co-authored-by: josh11b <josh11b@users.noreply.github.com>
2022-12-09 11:01:21 -08:00
josh11b ee998c99ff Clean up some small mistakes (#2451) 2022-12-07 15:12:08 -08:00
josh11b 9165b084f4 Can't override virtual methods in an adapter (#2450)
This is just a consequence of casting to an adapter type doesn't change the data, including the vtable pointer.
2022-12-07 15:11:31 -08:00
josh11b 9c8fd6864e Implement rename me -> self (#2444)
Implements change proposed in #1382

Replaces #1624
2022-12-06 20:17:00 -08:00
Avi levy 94c207158e llvm-ar no such file or directory fix instruction (#2423)
Add link to llvm-ar error fix instruction.
2022-12-05 14:02:58 -08:00
josh11bandRichard Smith 571b869f1c Constraints must use Self (#2376)
Require `impl as` constraints in an `interface` or `constraint` definition to mention `Self` implicitly or explicitly. Require `where` clauses to refer to `.Self` directly, or through a designator like `.Foo`.

Co-authored-by: Richard Smith <richard@metafoo.co.uk>
2022-12-02 16:11:23 -08:00
Jon Ross-PerkinsandRichard Smith 14cc716ddc Allow unqualified name lookup for class members (#2287)
Allow unqualified name lookup in multiple situations:

-   For classes and interfaces, whether inside the class scope or within an
    out-of-line function definition.
-   For namespaces, when the namespace is used in a declaration.

Co-authored-by: Richard Smith <richard@metafoo.co.uk>
2022-11-09 14:34:30 -08:00
josh11bandRichard Smith e29e4cfa29 What can be done with an incomplete interface (#2347)
Clarify what can and cannot be done with a incomplete interface or named constraint.

Co-authored-by: Richard Smith <richard@metafoo.co.uk>
2022-11-09 08:37:25 -08:00
Nico Z 4ea3e1951b Add ubuntu:22.04 docker images (#1618)
Ubuntu 22.04 base image and examples using github, a copy instruction and volumes.

I was using this to run examples on a windows machine since it is more comfortable than switching OS or using the WSL subsystem directly.
If this is something that other people would like to have  I can add other versions of ubuntu and other linux distributions.
2022-11-03 13:12:21 -07:00
Chandler Carruth 0478cbd9b3 Remove artificial version ceiling on C++ interop. (#2365)
Remove a confusing mention of a specific version of C++ (C++17) from the
interoperability goals.

Expand the content of the goals to make it clear that we have a moving and
ongoing target of C++ as it continues to evolve. Also emphasize that we will
prioritize among the different features during Carbon's development based on how
they impact the overall project.

However, this intends to preserve the fact that there may exist long-tail or
corner-case features in C++ that never end up with high quality or exhaustive
support in our interop story simply because their impact on Carbon users is
sufficiently small that it doesn't justify the cost.

Fixes #1587
2022-11-02 19:29:05 -07:00
Jon Ross-Perkins f1e36a50ca C/C++ -> C and C++ (#2340)
As requested at https://github.com/carbon-language/carbon-lang/pull/2332#discussion_r1002257672, "Very minor, but "C/C++" irritates some people in the C++ community so we may as well avoid it here."
2022-10-25 12:06:24 -07:00
Richard Smith dca7214c25 Update design to use current impl syntax. (#2309) 2022-10-24 14:16:41 -07:00
Jon Ross-Perkins bd3e2bb24a Add alternatives considered to classes (#2332)
Extracting from #2287
2022-10-24 09:39:01 -07:00
Chandler Carruth d76835bed4 Fix a missing link and tweak the template. (#2330)
Mostly wanted to more clearly separate the closing observations from the
rest of the report. Noticed the missing link while I was there so fixing
that too.
2022-10-21 08:02:46 -07:00
Jon Ross-Perkins 4601a9cce8 Modify package in the README.md to mark unreviewed ideas as provisional. (#2324)
I've filed #2323 to track the design idea for `package`, and #2001 already tracked `import`, but these should be explicitly marked as provisional.
2022-10-20 14:51:52 -07:00
Chandler CarruthandCéline Dedaj b315c69f0c Begin publishing CoC and moderation transparency reports. (#2295)
Provides a documented cadence, publishing target, and template for Code of Conduct and moderation transparency reports.

Based on the initial proposal draft from @CelineausBerlin.

Co-authored-by: Céline Dedaj <CelineausBerlin@users.noreply.github.com>
2022-10-18 10:59:08 -07:00
Kareem Ergawyandergawy 05b6c4f310 Fix a few typos in generics docs. (#2272)
Fixes a few tiny typos here and there.

Co-authored-by: ergawy <kareem.ergawy@guardsquare.com>
2022-10-07 09:31:38 -07:00
Adrien Leravat 8e8e8ced60 docs: fix code sample typo (#2254)
Fix small typo in classes documentation
Added to a decicated PR to keep things orderly
2022-10-04 08:57:10 -07:00
Geoff Romer 96735e89b8 Clarify that l-values and r-values are expressions (#2243) 2022-09-30 13:34:11 -07:00
Jon Ross-PerkinsandRichard Smith 1e1fa9295d Rewrite contribution tools documentation (#2203)
Key rewrite points:

- Making more use of apt now, since we no longer need `brew` for llvm on Linux.
  - Gets ahead of issues with brew's llvm 15 on Linux.
- Clear list of commands for a typical setup.
- Less verbose text about various tool options (I think this was just too much).

Co-authored-by: Richard Smith <richard@metafoo.co.uk>
2022-09-30 13:21:27 -07:00
Jon Ross-Perkins 768764787f Fix x/_ and y/z in faq example. (#2230) 2022-09-29 10:52:05 -07:00
josh11bandBarry Revzin 29d8f9845e Clarifications to "checked and template parameters" (#2216)
This attempts to address concerns that @brevzin first tried to fix in #1443 .

Co-authored-by: Barry Revzin <barry.revzin@gmail.com>
2022-09-26 16:57:03 -07:00
micttyl dc4e968373 Fix Markdown (#2208)
`explicit parameter` to have its closing rendered correctly.

Change all html-like(still supported though) notations into the Markdown style.
2022-09-22 09:01:36 -07:00
Jon Ross-Perkins 1dcd15380c Remove stacked PR notes (#2205)
chandlerc had originally added these and previously expressed being okay with removing them. They've just proven too complex to be applied; it needs to be easier for people to want to do it.
2022-09-21 16:10:36 -07:00
Jon Ross-Perkins 360f905755 Remove update_label_access, which is obsolete (#2184)
The PyGithub import is causing problems for me in test execution, but TBH I don't think we need it anymore. I should probably update groups.md though.
2022-09-15 13:57:50 -07:00
josh11b e873678c8f Link to Rust stabilizing Generic Associated Types (GATs) (#2178) 2022-09-13 16:39:19 -07:00
Richard Smith deee3a97de Implement #2140 in the design docs. (#2176)
This implements #2140 in the design docs.
2022-09-13 14:54:43 -07:00
josh11bandChandler Carruth 54059801ca More etiquette for responding to code reviews (#2169)
Includes the advice from https://github.com/carbon-language/carbon-lang/pull/2022#issuecomment-1239070023

Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
2022-09-13 08:15:43 -07:00
josh11b 14206da00a Primitive types (#1975)
A few changes:
- Merge content from the `primitive_types.md` design doc into the overall design `README.md` since there was so much overlap and no need for two copies.
- Consistently spell integer types `Carbon.Int(N)` and `Carbon.UInt(N)`, including the `Carbon.` prefix and avoiding `Unsigned(N)`.
- Consistently use a comprehensive set of floating-point types.
- Incorporates #2015 into the design docs.
2022-09-08 18:13:09 -07:00
josh11b e4595deb4b Clarify rules around Self and .Self (#2107)
A number of smaller changes grouped together in one proposal:

-   Make `Self` a keyword.
-   Clarify that `Self` refers to the current type in a base class and in impl declarations.
-   Clarify when `.Self` is legal, and what type it has.
-   Also specify that `where` is not an associative operator.
2022-09-08 13:04:58 -07:00
Geoff RomerandJon Ross-Perkins 36a5a52a84 Add FAQ entries for common syntax questions (#2011)
Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
2022-09-07 23:54:11 +03:00
Prithvi Jamadagni 661a3c3907 Reflect "Numeric literal semantics #144" in the design docs (#2092)
This PR aims to complete issue #1997.
2022-09-02 17:49:14 -07:00
josh11b 4192ee42a6 Misc small fixes (#2123) 2022-08-30 08:25:24 -07:00
dd4deb6843 Redo introduction of design overview (#2017)
Previous overview is changed to an introduction that includes a modified first example, and adding a brief tour of Carbon in the form of an explanation of the features demonstrated in that example. Also update to reflect that we expect `Print` to be available in some package imported by default, which we are currently calling `Carbon`.

Co-authored-by: Wolff Dobson <wolffg@users.noreply.github.com>
Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
2022-08-29 20:20:18 -07:00
Jon Ross-Perkins 9572a33ba9 Update digit separator notes in design (#2117) 2022-08-29 16:10:51 -07:00
07d6a03b32 Change raw string literal syntax: [#]*" represents single-line string and [#]*''' represents block string (#1360)
Use `"` for simple string literals and `'''` for block string literals.

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
Co-authored-by: Richard Smith <richard@metafoo.co.uk>
2022-08-25 14:04:22 -07:00
Jon Ross-Perkins 2bc6da2967 Try a different autoassign action (#2093)
This removes the separate data files, which have been failing to load properly ([example](https://github.com/carbon-language/carbon-lang/runs/7957047892?check_suite_focus=true)). This one wasn't working previously, but hopefully will with these changes (and it might've also just been a pull_request_target issue, but the silent "Resource not accessible by integration" failures aren't great).
2022-08-23 12:13:19 -07:00
David Poliakoff b342fac618 Spelling fix in the generics overview doc (#2016)
Minor usage fix in generics doc
2022-08-16 10:43:39 -07:00
Jon Ross-Perkins 15d1e07133 Unicode char limit (#2040)
The `\u{HHHH...}` can be an arbitrary length, potentially including `\u{}`.
Restrict to 1 to 8 characters.
2022-08-16 09:41:52 -07:00
90babcddc1 Revise associated types and interface parameters in Generics terminology (#1972)
Previous text was not clear, see https://discord.com/channels/655572317891461132/941071822756143115/1004607504396861540 .

Co-authored-by: Thomas Heller <thom.heller@gmail.com>
Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
2022-08-15 15:00:00 -07:00
Adrien Leravat b7ee1dfa22 docs: fix typo in generics overview.md (#2025)
PR for tiny fix to generics overview doc, as suggest here: https://github.com/carbon-language/carbon-lang/pull/1885/files#r943743464
2022-08-15 11:22:51 -07:00
Enzo Venturi f338f56502 docs: fix little writing issue (#2031) 2022-08-15 10:16:49 -07:00
Jon Ross-Perkins 9b3f80c6d6 Switch proposal process from projects to labels (#1981)
This is being done because Projects v1 requires repo write access, a serious limitation for letting people use it. Projects v2 isn't a great option because it lacks event support. Labels are pretty stable in GitHub, so this switches to that.

Note this assumes we're fine renaming "decision: accepted" -> "proposal accepted", etc. There are two reasons for this:

1) To make it clear that this is a proposal-specific label, versus something like an issue for leads label.
2) Removing the colon because it was causing trouble with yaml syntax.

This also adds the "proposal draft" label, mainly to complete the taxonomy.

I was considering whether this should be a proposal itself, but it feels like maybe it's not necessary because it's a fairly low-key infrastructure change, and I'm not sure how much people were relying on the project board anyways.

I tested this in a personal repo, basically just poking at https://github.com/jonmeow/test/pull/2
2022-08-12 11:11:09 -07:00
Jon Ross-Perkins 6b3ea40283 Update leads questions process for labels (#1995)
Separately working on labeling everything and filing tracking issues as discussed.

For project columns, the result is:

"Blocking issues" -> gone, we haven't been using it
"Questions" -> "leads questions" label, open: https://github.com/carbon-language/carbon-lang/issues?
q=is%3Aissue+is%3Aopen+label%3A%22leads+question%22
"Resolved" -> "leads questions" label, closed: https://github.com/carbon-language/carbon-lang/issues?q=is%3Aissue+is%3Aclosed+label%3A%22leads+question%22+
"Needs proposal" -> file a tracking issue, remark on the linked issue
"Deferred" -> add the "long term" label: https://github.com/carbon-language/carbon-lang/issues?q=is%3Aissue+is%3Aopen+label%3A%22leads+question%22+label%3A%22long+term%22

Note the "long term" label overlaps with the automation that reminds people when we're inactive, so it's two birds, one stone.

This is part of #1898
2022-08-12 10:55:45 -07:00
09e4417431 Mark what is provisional in the design overview (#1984)
Also references were added to clarify that some features are not provisional.

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
Co-authored-by: Geoff Romer <gromer@google.com>
2022-08-11 14:48:35 -07:00
josh11b 3276903cee Add alias use case example (#1980)
Motivated by [a conversation in #properties on Discord](https://discord.com/channels/655572317891461132/1007005822821347328/1007016175630295060).
2022-08-10 21:34:54 -07:00
Dennis Onyeka 45a5828bb4 Update low_context_sensitivity (#1970)
Corrected a Typo error on line 220
2022-08-09 15:36:12 -07:00
90598633ec Document a little about moderators and tiers (#1909)
Note, partly writing this down to make sure everyone's in agreement with what's written.

Co-authored-by: Geoff Romer <gromer@google.com>
Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
2022-08-09 15:35:03 -07:00
Asmi AgarwalandJon Ross-Perkins f9bd01536b Fixed error (#1966)
Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
2022-08-09 09:09:33 -07:00
Krishna Agarwal 5d12c25bbe minor mistakes (#1952) 2022-08-09 09:00:07 -07:00