Commit Graph
1134 Commits
Author SHA1 Message Date
Jon Ross-Perkins 2ed6b6fe8f Temp disable ubuntu testing (#1872)
See #1865, it's broken and I don't see a quick fix.
2022-08-01 18:12:44 -07:00
josh11b 6210353dfe Update links to open discussion minutes archives (#1873) 2022-08-01 16:46:19 -07:00
MarchMore 8b5c13e8de Update CODE_OF_CONDUCT.md (#1810)
Ground rules bullet points do not match with the following detailed description captions
2022-08-01 16:07:59 -07:00
Jon Ross-Perkins eac7aecd86 Remove 'no room' idiom (#1852)
Per discussion, this is confusing some people who read it as "don't allow" rather than "no need". I think "no need" is the original intent.
2022-08-01 11:23:10 -07:00
Jon Ross-Perkins 92748e6b35 Update pre-commit version for underscores in symlinks (#1845) 2022-08-01 11:08:05 -07:00
Richard SmithandJon Ross-Perkins ef96f60425 Add support for bitwise operators. (#1809)
Following #1191, add initial support for bitwise operators. Support for both
integer operations and for operator overloading via the interfaces specified in
#1191 is provided.

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
2022-07-31 15:25:10 -07:00
x2wandJon Ross-Perkins 52f80c25ab Add syntax highlighting for vim and neovim (#1740)
PR to add a vim syntax file to support syntax highlighting for .carbon files. Since the Carbon language specification is still in progress, a single syntax file is easier to maintain and adapt to design changes in Carbon. After the language syntax has matured and stabilized, advanced tooling such as Treesitter and Language Servers can take over the syntax highlighting in neovim.

### Highlighting Support
- comments and preprocessors (RUN, CHECK, etc)
- string and numeric literals
- primitive type names, classes, aliases
- control flow constructs
- identifier names
- package and library declarations
- most keywords mentioned in `docs/design/README.md`

### With a Dark Colorscheme:
![carbon01](https://user-images.githubusercontent.com/78875280/181017032-e2c140c8-e98a-46d3-8f94-b8dc0f28ce49.png)

This image is longer than I thought, so I'm not posting what it looks like in a light colorscheme, but it should look fine as long as vim highlight-groups are properly defined.

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
2022-07-31 08:32:00 -07:00
Matt Armstrong fce3618cc2 Try to make some FAQ questions more inviting (#1848)
Replace the "why we don't want to discuss things" question with three
questions covering substantially the same topic. Try to strike a balance
between inviting participation and feedback while still making it clear
that the evolution process produces "firm" decisions.

Address issue #1833.
2022-07-30 19:03:27 -07:00
jkamins7andJon Ross-Perkins c13803de99 Fix for CC being sometimes a path and sometimes a file on PATH (#1724)
Possible fix for #1713

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
2022-07-30 13:48:38 -07:00
13d6c33830 Fixed some grammar errors (#1599)
Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
Co-authored-by: Divanshu Chauhan <23524935+Divkix@users.noreply.github.com>
2022-07-30 12:12:03 -07:00
Thejaswi Kadur 5665f32bf7 Support for user-defined Eq impls (#1730)
Related to #1549; user-defined equality is a prerequisite for user-defined comparison.
2022-07-30 11:51:39 -07:00
Calvin b988d5353c Add check for LLVM tools in build config script (#1843)
By adding a small, proactive safety check, the hope is that this will better point developers in the direction of a fix and reduce the volume of duplicate issues filed for this common troubleshooting question.

This change seems to be safe in the present as this check mirrors the current behavior in `clang_cc_toolchain_config.bzl`, finding these tools in the same directory beside `clang`. Non-standard builds using the same bazel toolchain config should not be affected for this reason. If that behavior ever changes in the future, this check will become out of sync.

Open to ideas for better heuristics here! However, checking for `llvm-ar` seems to satisfactory for right now. Verified this change worked locally (macOS) with and without Homebrew's LLVM in `PATH`.

Might want to wait on review from @chandlerc.

Fixes #1842.
2022-07-30 11:23:38 -07:00
MarchMore a3dc3cac74 Documentation: Minor corrections of several md files (#1806) 2022-07-30 11:16:11 -07:00
Vitalii 4872f49ce7 Rework of .devcontainer (#1816) (#1817)
> The only issue that I currently have with this one is that the `clangd` extension is having some hiccups, not being able to find includes like `<gmock/gmock.h>` and `<benchmark/benchmark.h>` and thus showing extra errors. However, this only affects the VSCode extension and bazel seems to work fine.

This might be an issue with the compilation database: you might try ./scripts/create_compdb.py to help.
2022-07-30 10:54:45 -07:00
Vaishnavi JoshiandJon Ross-Perkins a60e78485a fixed broken link in faq section (#1825)
The link now redirects to main readme of the project as expected.

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
2022-07-30 08:30:45 -07:00
Matt Armstrong 2fa74f1d71 Add a new "How can I contribute?" top level heading to the FAQ (#1827)
This provides a natural place for questions about the specifics of how to
contribute effectively, which, near term, is probably where the FAQ will
grow the most near term. This allows the other headings to remain more
focused on their original questions.

Move two existing questions to the new place without changing their
content: "What are the prerequisites for contributing [...]?"  and "Why
aren't people willing to discuss certain topics [...]?".
2022-07-29 17:21:31 -07:00
Adrien Leravat cbd4b8d82d Add explorer support for short-circuit evaluation for 'and' and 'or' (#1789)
Implements short-circuit evaluation for `and` and `or` binary
operators.

Fixes #1651
2022-07-29 13:10:40 -07:00
Zenong Zhang 13f97e09e8 Added back error message on action stack. (#1826) 2022-07-29 13:07:00 -07:00
Krishna Agarwal 4d53e3ffe3 grammar error (#1795) 2022-07-29 11:02:52 -07:00
pmqttandm new df93623741 Extends carbon to generate random number to make samples more interesting (#1643)
Implements the Rand function to carbon

Co-authored-by: m new <michael.burzan@outlook.de>
2022-07-29 10:39:30 -07:00
SADIK KUZU df2ec7ab22 Update pre-commit config (#1773)
Update pre-commit config yaml file

* Updating https://github.com/pre-commit/pre-commit-hooks ... updating db7346d375eda68a0174f2c057dd97f2fbffe030 -> v4.3.0 (frozen).
* Updating https://github.com/google/pre-commit-tool-hooks ... already up to date.
* Updating https://github.com/psf/black ... updating ae2c0758c9e61a385df9700dc9c231bf54887041 -> 22.6.0 (frozen).
* Updating https://github.com/pre-commit/mirrors-prettier ... updating 5e374fda194d7f7ce9eebbd582b2a5594838c85b -> v2.7.1 (frozen).
* Updating https://github.com/PyCQA/flake8 ... already up to date.
* Updating https://github.com/pre-commit/mirrors-mypy ... updating a04404bdf52c2cbc9c5bd705454b89bd83b84383 -> v0.971 (frozen).
* Updating https://github.com/codespell-project/codespell ... already up to date.
* Updating https://github.com/google/pre-commit-tool-hooks ... already up to date.
2022-07-29 07:53:34 -07:00
1b2047d075 Added the ZLib development package as a Linux requirement to the Main Tools section (#1558)
Fixes #1527

On Debian, the zlib1g-dev package is required to build and should be given as a requirement.

Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
2022-07-28 23:05:30 -07:00
yale 85cb70c0a3 Add DevContainer (#1608)
With DevContainer, developers can join the project without deploy the build env.

Signed-off-by: cyw3 <2927096163@qq.com>
2022-07-28 16:03:48 -07:00
7be95ccb19 Operator overloading modulo (#1808)
Co-authored-by: m new <michael.burzan@outlook.de>
Co-authored-by: Richard Smith <richard@metafoo.co.uk>
2022-07-28 17:45:07 -04:00
9f89c63503 Add operator modulo (#1681)
Co-authored-by: m new <michael.burzan@outlook.de>
Co-authored-by: Richard Smith <richard@metafoo.co.uk>
2022-07-28 12:51:35 -07:00
Mats Larsen 8ba4916ab4 Implement minimal textmate language definition (#1595)
TextMate is the go-to definition language for syntax highlighting for editors lack dedicated language support for a given programming language. This patch contains a very minimal, yet functional TextMate bundle definition for Carbon.

This allows Carbon users to import the TextMate bundle into their editors to get basic syntax highlighting for Carbon code until we have a more solid specification for the language (that's when the fun with dedicated plugins/extensions begins!).

**Support**
- String literals with escape codes (currently using C highlighting rules)
- Numeric literals in decimal, hexadecimal and binary (lacks _ separator support though)
- Single and multi-line comments
- Highlighting of all? (let me know if some are missing) keywords in the language

Here is an image of the highlighting in action in IntelliJ Dracula mode
![image](https://user-images.githubusercontent.com/42585241/180587912-23b5ae3e-2bdb-49a1-83e8-24e6e0b7cfb5.png)
2022-07-28 11:32:41 -07:00
purpl3r0se f050a08c45 Update README.md (#1803)
I atleast believe this is a typo, may not be tho.
2022-07-28 10:22:21 -07:00
Richard Smith f3127d2e83 Fix test failure due to racing commits. (#1802) 2022-07-28 09:25:14 -07:00
josh11b 64f3284a19 Update links to visible copies of docs (#1786)
I've manually copied some Google docs that were referenced in our design .md files so they may be publicly viewable.
2022-07-27 17:45:05 -07:00
josh11b 132098c1dc Update CONTRIBUTING (#1784)
Three changes:
- no more forums
- only contributors in meetings
- links to issues, including good first issues
2022-07-27 17:43:48 -07:00
Ethan Havemann ae530d63fd Tense Fix (#1764) 2022-07-27 15:32:49 -07:00
Richard Smith 15ec5113aa Add extensibility support for arithmetic operators. (#1751)
Add new prelude interfaces `Negate`, `AddWith`, `SubWith`, and `MulWith`, and
use them to implement non-builtin arithmetic operations.
2022-07-27 15:09:27 -07:00
SADIK KUZU 34a18b5e9e Update github workflow actions' versions (#1776)
Update github workflow actions' versions

* actions/checkout: v2 -> v3
* actions/setup-python: v3 -> v4
* pre-commit/action: v2.0.2 -> v3.0.0
* actions/setup-go: v2 -> v3
* actions/stale: v4 -> v5

Reference links: 

* https://github.com/actions/checkout/releases
* https://github.com/actions/setup-python/releases
* https://github.com/pre-commit/action/releases
* https://github.com/actions/setup-go#v3
* https://github.com/actions/stale#usage

`.github/workflows`:

* pre-commit.yaml
* stale.yaml
* tests.yaml
2022-07-27 14:35:15 -07:00
SADIK KUZU 0b75f8590c Update brew install command for gh cli (#1775)
Reference: https://github.com/cli/cli#macos
2022-07-27 11:31:40 -07:00
Dan Sarginson 3de94947c0 Update print example in FAQ (#1772)
The named file does not exist
2022-07-27 11:04:12 -07:00
Thejaswi Kadur 790e075986 Convert first Print argument to String before evaluating (#1548)
Fixes #1439.
2022-07-27 10:29:09 -07:00
2430c31ea2 [docs] adds new FAQ entries (#1752)
We've observed the following things cropping up regularly enough to
address as 'frequently asked':

* Why isn't there a Carbon logo?
* Where should I ask questions?
* What are the prerequisites for building Carbon?
* Why aren't people willing to discuss certain topics?

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
2022-07-26 19:07:40 -07:00
josh11bandJon Ross-Perkins eb2d6cfed3 Update the generic implementation model (#1398)
The previous implementation model involved the caller of a function knowing what impls the function will need. With the addition of blanket impls and specialization to the design, that is in general no longer possible. Instead the caller provides a type which is used as a key to look up the impl, which is expected to occur during monomorphization, though we allow the compiler to employ other strategies when the set of impls is predictable.

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
2022-07-26 19:04:26 -07:00
db8927d545 Clarify status in main README (#1748)
Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
2022-07-26 16:43:44 -07:00
Richard Smith 7a67715ac5 Error: track message and prefix/location separately. (#1529)
This allows us to combine multiple Errors together without repeating the prefix
information. Also fixes several cases where two "COMPILATION ERROR" prefixes
would be prepended to the same message when errors with prefixes and locations
were produced by the lexer and parser.
2022-07-26 15:08:19 -07:00
Tim Crown 856a5c4536 Fix broken link in doc (#1716)
Broken link in explorer/ast/README.md
2022-07-26 11:37:59 -07:00
Kshitij roodkee 8023296728 Update conditional.md (#1714)
Changed the heading, so that there is uniformity across the docs.
2022-07-26 11:37:24 -07:00
Roland Siegbert f612c7191c Add wikipedia link to ABI in README (#1671)
For easier lookup of the non-goal of a stable API: https://en.wikipedia.org/wiki/Application_binary_interface
2022-07-25 19:44:15 -07:00
Patryk Gutowski 25b6a36b0d Exclude .svg from pre-commit #1655 (#1688)
There was unnecessary checking the .svg images (anyway it did not help a lot as mentioned on the #1655 #1652 issues).
Regex upgraded so it excludes all .svg.

Tested it on the other files and I think it's correct for now.
2022-07-25 10:29:37 -07:00
FZC eded7ee270 gitignore .idea dir (#1704)
Related issue = close #1703
2022-07-25 09:01:32 -07:00
Saurabh MudgalandJon Ross-Perkins b79a481f8f Fixed typo and grammar in README.md (#1646)
Summary of resolved issues/ changes:

1. 'our' typed twice under **Join us** heading in README.md --> 'our ' is no longer repeated, typo fixed
2. verb form and comma related errors under **Memory Safety** heading in README.md --> grammar fixed
3. missing article and hyphen related errors under **Generics** heading in README.md --> grammar fixed
4. punctuation and preposition related errors under **Why build Carbon?** heading in README.md --> grammar fixed

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
2022-07-24 18:32:08 -07:00
Zenong Zhang 075b3aba1b Implementation of unformed state for global variables. (#1571)
- Allocate UninitializedValue on heap when a VariableDeclaration does not have initialization.
- Added test cases.
2022-07-24 15:32:38 -07:00
ooxi fc0d7a84db Fix link rendering for correct display in GitHub (#1666)
Unfortunately, GitHub does not render `[file]` as a link to `file`. Instead, `[file](file)` is required.

This patch fixes the rendering of [utils/highlightjs](https://github.com/carbon-language/carbon-lang/tree/trunk/utils/highlightjs)
2022-07-24 14:56:54 -07:00
Patryk Gutowski a8de3074d8 Fix typo in svg image #1647 (#1652)
There was an extra ')' when calling function QuickSort, switched files and uploaded google drive image.
2022-07-24 14:55:13 -07:00
ooxi 6224f50b8d Fix spelling of primitive types (#1663)
Primitive types have been renamed in pull request #861 and also the design document.
2022-07-24 13:08:31 -07:00