← All repos

bolt

Bolt is a language with in-built data-race freedom!

compilersconcurrencydata-race-freedomlanguagestatic-analysistypes
Browse cluster: Cosmos blockchain and smart contract languages
584commits
2contributors
9languages

Tech stack & purpose

Bolt is a programming language designed to prevent data races in concurrent code through built-in language features and static analysis. The language supports traditional object-oriented constructs like inheritance, method overloading, and generics, while introducing capability annotations and a structured approach to concurrency via `finish` and `async` blocks that make thread lifetimes explicit. The compiler is written in OCaml and C++, using OCamllex and Menhir for lexing and parsing, and Bazel as the build system, with a pipeline that proceeds through parsing, typing, desugaring, data-race checking, and intermediate representation generation. The project was created by Mukul Rathi, who has accompanied it with compiler development tutorials covering both foundational and advanced language features.

Community & reference links

Languages

OCaml
82.6%
C++
10.6%
Standard ML
4.7%
Shell
0.7%
Starlark
0.7%
Assembly
0.2%
Makefile
0.2%
Java
0.2%
Dockerfile
0.1%

Contributors