logoalt Hacker News

throwfaraway135last Saturday at 6:02 PM1 replyview on HN

The GitHub project has more details: https://github.com/c3lang/c3c

Some ways C3 differs from C:

- No mandatory header files

- New semantic macro system

- Module-based namespacing

- Slices

- Operator overloading

- Compile-time reflection

- Enhanced compile-time execution

- Generics via generic modules

- "Result"-based zero-overhead error handling

- Defer

- Value methods

- Associated enum data

- No preprocessor

- Less undefined behavior, with added runtime checks in "safe" mode

- Limited operator overloading (to enable userland dynamic arrays)

- Optional pre- and post-conditions


Replies

sprashlast Saturday at 11:21 PM

So far so good. The feature set is bit random though. Things i personally miss is function overloading, default values in parameters and tuple returns.

show 1 reply