Skip to content
/ cx Public

C* is a hybrid low-level/high-level systems programming language focused on performance and productivity.

License

Notifications You must be signed in to change notification settings

cx-language/cx

Repository files navigation

The C* Programming Language

C* (pronounced "C star") is a C-based hybrid low-level/high-level programming language focused on runtime performance and developer productivity (in this order of priority). The language is simple and unopinionated, supporting imperative, generic, data-oriented, functional, and object-oriented programming.

Learn more about the language at https://cx-language.github.io/.

The project is still in early stages of development: some planned features have not yet been implemented, existing ones are subject to change, and the documentation is scarce.

Contributing

Contributions are welcome. See the GitHub issues and the Trello board for the project backlog. To ask a question or open a discussion, create an issue or join the C* Discord server.

Building from source

Compiling C* requires a C++17 compiler, CMake, and LLVM/Clang 12.

To run the tests, install lit and its optional dependencies via pip:

sudo python3 -m pip install lit psutil

After this, the following commands can be invoked from the build directory:

  • cmake --build . builds the project.
  • cmake --build . --target check runs the test suite.

The C++ code style is enforced by ClangFormat and ClangTidy:

  • Run the format CMake target to format the code.
  • Run the lint CMake target to check if the code is formatted.

License

C* is licensed under the MIT license, a permissive free software license. See the file LICENSE.txt for the full license text.