https://github.com/charlielidbury/ochre/blob/main/report/thesis/main.pdf
If you clone, you can write Ochre code in compiler/src/main.rs
, it will be type checked during Rust compile. Note: only a tiny fraction of Ochre is implemented in that repo.
Ochre will be a systems theorem prover, which is the intersection between:
The former will be achieved by using Rust’s ownership semantics and borrow checker. The latter will be achieved via the inclusion of dependent types and hopefully some rigor.
<aside> <img src="/icons/info-alternate_gray.svg" alt="/icons/info-alternate_gray.svg" width="40px" /> More or less, Ochre = Rust + Dependent Types.
</aside>
These features would allow programmers to verify properties about their programs without leaving the language they’re writing those programs in. Hopefully this will make verification easier, and therefore increase how much software is formally verified.
I see this verification naturally dividing into two categories: