0xMiden / 0xMiden/air-script

[Plonky3 Codegen] Propagate tagging to Plonky3 generated constraints

Aperta
#555 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Rust
Stelle
96
Fork
39
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

PR #461 adds a Plonky3 Backend to air-script. It converts air-script programs into AirBuilder equivalent constraints. This issue, along with #534, outlines improvements on this Plonky3 backend that could be useful to better suit the current codebases and needs (e.g. regarding MidenVM constraints generation and comparison).

Since PR #461 was made, the constraints tagging system (https://github.com/0xMiden/air-script/pull/539) made it easier to track constraints and compare air-script constraints with AirBuilder constraints to ensure they are equal.
PRs [#540, and from #543 to #554] (on the air-script side) and [#2725, #2735, #2736 and from #2748 to #2756] (on the miden-vm side) leveraged this tagging system to write MidenVM constraints in both languages.

What would be interesting is to improve the existing Plonky3 backend to support these tags, and be able to directly compare the auto-generated AirBuilder constraints from the manually-written ones.

However, this may be dependent on #534 to improve readability of generated constraints first.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Rivedi la PR #461 per comprendere il backend Plonky3 e il sistema di tagging introdotto nella PR #539. Esamina le PR collegate su entrambi i lati (air-script e miden-vm) per vedere come vengono utilizzati i tag. Il lavoro comporta la modifica del codegen per propagare i tag ai vincoli generati, probabilmente nel modulo backend Plonky3. Inizia individuando il codice di generazione dei vincoli e comprendendo le strutture dati dei tag.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
backend-api-design, compilers
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.