The site here has an overview of the language and code samples: http://www.c3-lang.org
You can try it out in the browser here: https://ide.judge0.com/?1EFo with the list of implemented features/not yet implemented features in the compiler found here: https://github.com/c3lang/c3c
Currently the spec has a bit too many features so I will try to remove the superfluous to make the language more easy to grasp in its entirety.
The syntax tries to stay true to C, with things added on top that C can't easily add due to backwards compatibility:
- Module system
- Generics
- Semantic Macros
- Error handling
- Defer
- Value methods
- Associated enum data
- Subtypes (Go's embedded structs)
- Optional contracts
- Built-in strings, maps, subarrays and vararrays
P.S. I know the change to use `func` with functions is controversial – it's great for a simpler grammar and to make function types stand out, but is quite a departure.
P.P.S. "Why not just use C?" Well, we're seeing C++ inspired languages (like Rust) taking mindshare both from C++ and C communities. I would like to see an alternative that keeps to the simplicity of C code instead of taking C++ syntactic complexity as a base line.