In our previous blog post, we stated our plan to improve our translation of Rust 🦀 to Coq 🐓 with coq-of-rust. We also provided a new definition for our Rust monad in Coq, and the definition of a unified type to represent any Rust values. We will now see how we modify the Rust implementation of coq-of-rust
to make the generated code use these new definitions.
With this new translation strategy, to support more Rust code, we want:
- to remove the types from the translation,
- to avoid the need to order the definitions in the generated Coq code.