C3 is a C-like programming language seeking to evolve from C.
The 0.7.3 release doesn't have any major changes, but ends up with some gradual improvements such as:
- type / typeid equivalence: it's possible to use a constant typeid instead of type in a lot more places now, requiring fewer typeid -> type conversions, which improves readability.
- $evaltype which turned a string into a type now merged into $typefrom which is the one that turns a typeid into a type.
- Type inference through && (taking a reference to a temporary), allowing Foo* f = &&{ 1, 2 }.
- Compile time "sprintf" for formating strings at compile time.
- Arithmetic operator overloading now accepts macros with untyped "wildcard" arguments.
The full change list can be found in the article.
Some other links that might be interesting follows:
1 comment
[ 0.17 ms ] story [ 15.8 ms ] threadThe 0.7.3 release doesn't have any major changes, but ends up with some gradual improvements such as:
- type / typeid equivalence: it's possible to use a constant typeid instead of type in a lot more places now, requiring fewer typeid -> type conversions, which improves readability.
- $evaltype which turned a string into a type now merged into $typefrom which is the one that turns a typeid into a type.
- Type inference through && (taking a reference to a temporary), allowing Foo* f = &&{ 1, 2 }.
- Compile time "sprintf" for formating strings at compile time.
- Arithmetic operator overloading now accepts macros with untyped "wildcard" arguments.
The full change list can be found in the article.
Some other links that might be interesting follows:
- https://news.ycombinator.com/item?id=24108980
- https://news.ycombinator.com/item?id=27876570
- https://news.ycombinator.com/item?id=32005678
Here are some interviews on C3:
- https://www.youtube.com/watch?v=UC8VDRJqXfc
- https://www.youtube.com/watch?v=9rS8MVZH-vA
Here is a series doing various tasks in C3:
- https://ebn.codeberg.page/programming/c3/c3-file-io/
Some projects:
- Gameboy emulator https://github.com/OdnetninI/Gameboy-Emulator/
- RISCV Bare metal Hello World: https://www.youtube.com/watch?v=0iAJxx6Ok4E
- "Depths of Daemonheim" roguelike https://github.com/TechnicalFowl/7DRL-2025
For more projects written in C3, look at: https://github.com/c3lang/c3-showcase