What is C3?
C3 is a system programming language based on C. It is an evolution of C enabling the same paradigms and retaining the same syntax as far as possible.
The C3 compiler can be found on github: https://github.com/c3lang/c3c.
Last updated: Revision 2021-10-20.
- Full C ABI compatibility
- Module system
- Generic modules
- Zero overhead errors
- Struct subtyping
- Safe array access using sub arrays
- Zero cost simple gradual & opt-in pre/post conditions. [IN PROGRESS]
- High level containers and string handling. [IN PROGRESS]
- C to C3 conversion (for a subset of C) TODO
- LLVM backend
- Procedural "get things done"-type of language.
- Stay close to C - only change where there is a significant need.
- Flawless C integration.
- Learning C3 should be easy for a C programmer.
- Dare add conveniences if the value is great.
- Data is inert and zero is initialization.
- Avoid "big ideas".
- Avoid the kitchen sink language trap.