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>
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

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>
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>
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.
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.
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>
In Python 3.x it is not necessary to have `object` inheritance in classes, it may be useful to have `object` inheritance in classes if the code has support for Python 3.x, 2.x, but currently the present code does not contain support for python 2.x.
Co-authored-by: martimartins <martim13artins13@gmail.com>
Older versions of GDB (before version 10.1) don't work with the
DWARF v5 debugging format the LLVM uses. The error message
which GDB shows when this happens is a bit misleading though.
Provide documentation about how to deal with that error message.
Problem:
- Explorer doesn't cover implicit tuple to array conversion.
Solution:
- Add to_array.carbon which converts tuple to array if the size matches.
- Add fail_to_array.carbon which doesn't compile becase the size of array doesn't match the size of tuple.
Co-authored-by: Kris Jusiak <kris@jusiak.net>