1 comment

[ 0.17 ms ] story [ 15.8 ms ] thread
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:

- 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