Type-C is a work in progress programming language, with the following goals in mind:
- Speed: Type-C's runtime aims to be fast and efficient
- Safety: Type-C aims to be safe
- Expressive: Type-C aims to be expressive and productive
Type-C is a modern take of C programming language but for general purpose programming. It is inspired by languages such as Javascript, Typescript, C.
Note from the author: Type-C doesn't aim to replace any other language. I do not claim that Type-C to be better, faster or safer than any other language. With Type-C, I am implementing my own ideas and concepts, and I am sharing them with the world. If you think Type-C is cool, then I am happy to hear that. If you think Type-C I would appreciate constructive feedback.
While Type-C shared few similarities with C, but it is not a superset of C. It is a new language with its own syntax and semantics. Some C concepts still applied, such as arguments and upvalues being passed by values and not reference.
State of the Project
In this context, the project includes the compiler, virtual machine, standard library and the documentation. The entire project is still being developed.
The compiler is written in TypeScript and compiles to a custom bytecode. Type-V is the virtual machine that executes the bytecode.
As of the time of writing, the language core syntax is complete, some new features are being planned and evaluated. The compiler is being tested with various test cases, but not all edge cases are covered yet. The VM, while it runs, still incomplete, some work still need to be done reguarding the garbage collector and the FFI. Finally, the standard library is being developed, but not all features are available yet.
However, this only covers the first version of the project.
Type-C is ambitious, and a rewriting of the bytecode is being considered. This will only affect the backend side of the compiler and the VM.
The frontend and the standard library are not affected by this, and will remain the same.