↓ Skip to main content

Charge

Programming Language · Repository

Charge is an experimental memory-safe systems programming language, most similar to C++ and Rust. It is a personal research project in early development. The primary goals of the language are:

  • Proven memory safety … : rigorous and semi-automatic proofs, enabled by formalizing reference guarantees, object invariants and more in the project’s own intermediate representation Chiral.
  • … that doesn’t get in the way: most code should not interact with the proof system directly. Writing manual proofs is the escape hatch from inherently safe borrow-checked semantics.
  • Extensive proof system: advanced memory techniques and hacks that are possible in C++ should be possible in Charge too, when accompanied by a proof.
  • Compact and powerful foundation: the language is built on few but general concepts, unifying aspects of both C++ and Rust.

Related blog posts will appear here soon. For now checkout the Github repository for more details.