|
| 1 | +--- |
| 2 | +authors: |
| 3 | + - maxime |
| 4 | +title: "This Month in Hax: June 2025" |
| 5 | +date: 2025-06-08 |
| 6 | +--- |
| 7 | + |
| 8 | +In June, we successfully merged **21 pull requests**! |
| 9 | + |
| 10 | +[@Nadrieril](https://github.com/Nadrieril) and [@N1ark](https://github.com/N1ark) continued the improvements on the frontend side with the addition of unchecked arithmetic operators ([#1513](https://github.com/cryspen/hax/pull/1513)), regrouping generic and trait arguments in a struct ([#1514](https://github.com/cryspen/hax/pull/1514)), support of trait aliases in `full_def` ([#1494](https://github.com/cryspen/hax/pull/1494)), addition of `Ty::FnDef` ([#1487](https://github.com/cryspen/hax/pull/1487)), drop calls resolution ([#1467](https://github.com/cryspen/hax/pull/1467)) and more. |
| 11 | + |
| 12 | +[@W95Psp](https://github.com/W95Psp), [@clementblaudeau](https://github.com/clementblaudeau) and myself worked on adding infrastructure for writing backends and compilation phases for hax in Rust (instead of Ocaml). We now have a Rust version of the hax AST and we can convert back and forth from the Ocaml version (which should allow to incrementally replace Ocaml phases by Rust phases). We also offer utilities for printing this AST when implementing backends. Our plan for the next months is to use this for the new backends we will add, and experiment with Rust phases. |
| 13 | + |
| 14 | +Stay tuned for more updates next month! |
| 15 | + |
| 16 | +### Full list of PRs |
| 17 | + |
| 18 | +* \#1517: [Update charon.yml: add `workflow_dispatch`](https://github.com/cryspen/hax/pull/1517) |
| 19 | +* \#1514: [Regroup generic and trait arguments in a struct](https://github.com/cryspen/hax/pull/1514) |
| 20 | +* \#1513: [Separate `{Add,Sub,Mul}Unchecked`](https://github.com/cryspen/hax/pull/1513) |
| 21 | +* \#1510: [Fix following merges changing the frontend AST](https://github.com/cryspen/hax/pull/1510) |
| 22 | +* \#1507: [Rust Engine: rename rust printer to rust engine](https://github.com/cryspen/hax/pull/1507) |
| 23 | +* \#1506: [Rust engine: Add spans to the Rust AST.](https://github.com/cryspen/hax/pull/1506) |
| 24 | +* \#1505: [Rust Engine: OCaml bridge for the AST (OCaml AST -> Rust AST)](https://github.com/cryspen/hax/pull/1505) |
| 25 | +* \#1504: [Rust Engine: transport the Rust AST to OCaml](https://github.com/cryspen/hax/pull/1504) |
| 26 | +* \#1502: [Upstream: Rust engine ast](https://github.com/cryspen/hax/pull/1502) |
| 27 | +* \#1501: [Upstream evit changes up to May 19th](https://github.com/cryspen/hax/pull/1501) |
| 28 | +* \#1499: [docs: Escape "*" in "F*" from Markdown](https://github.com/cryspen/hax/pull/1499) |
| 29 | +* \#1494: [full_def: support trait aliases](https://github.com/cryspen/hax/pull/1494) |
| 30 | +* \#1492: [sha256 example typecheck in f*](https://github.com/cryspen/hax/pull/1492) |
| 31 | +* \#1491: [This month in hax May 2025.](https://github.com/cryspen/hax/pull/1491) |
| 32 | +* \#1490: [proof-lib/fstar Add an actual instance for ordering of bound integers](https://github.com/cryspen/hax/pull/1490) |
| 33 | +* \#1487: [Add `Ty::FnDef`](https://github.com/cryspen/hax/pull/1487) |
| 34 | +* \#1485: [Fix detection of trait associated constants](https://github.com/cryspen/hax/pull/1485) |
| 35 | +* \#1482: [Update rustc pin](https://github.com/cryspen/hax/pull/1482) |
| 36 | +* \#1480: [Upstream evit changes up to April 25](https://github.com/cryspen/hax/pull/1480) |
| 37 | +* \#1470: [Add enum coverage test for coq](https://github.com/cryspen/hax/pull/1470) |
| 38 | +* \#1467: [Resolve Drop calls](https://github.com/cryspen/hax/pull/1467) |
| 39 | + |
| 40 | +### Contributors |
| 41 | +* [@N1ark](https://github.com/N1ark) |
| 42 | +* [@Nadrieril](https://github.com/Nadrieril) |
| 43 | +* [@W95Psp](https://github.com/W95Psp) |
| 44 | +* [@chrysn](https://github.com/chrysn) |
| 45 | +* [@clementblaudeau](https://github.com/clementblaudeau) |
| 46 | +* [@cmester0](https://github.com/cmester0) |
| 47 | +* [@karthikbhargavan](https://github.com/karthikbhargavan) |
| 48 | +* [@maximebuyse](https://github.com/maximebuyse) |
0 commit comments