bytecodealliance / bytecodealliance/wit-bindgen
Prototyping handles and resources using a bindings-based implementation
- Lingua principale
- Rust
- Stelle
- 1.5k
- Fork
- 286
- Merge medio
- 6h 32m
- PR unite (30g)
- 19
Descrizione
As a way to enable more experimentation with the developer-facing side of resources, I propose we add support for parsing `resource` declarations and simple `handle` types, and implement them in bindings by lowering them into code similar to what we currently write by hand and call "pseudo-resources": plain `u32` indices, which index into an implied per-store table.
Pseudo-resources don't provide cross-component isolation, and have other limitations, so they are only a temporary measure, but they are enough to open up some important developer ergonomics improvements, such as support for method-calling syntax (eg. `thing.action()` instead of `action(thing)`), greater type safety and IDE guidance, automatic destructors, structured documentation, and communication of API intent.
Even though the pseudo-resource technique itself is temporary, some of this work, such as the parsing and AST, and wit-using code that can be built on top of this, should be migratable to full resources when the pieces are in place for that.
If anyone has thoughts or questions about this, please ask! For anyone interested in working in this area, for now, please reach out to me, so we can coordinate efforts. Especially as we get into the guest-side bindings part of this, there are likely to be several parallelizable tasks.
@silesmo
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
L’issue non indica file, test o punti di ingresso. Inizia discutendo l’ambito con l’autore dell’issue prima di esaminare le dichiarazioni delle risorse, il parsing semplice degli handle, il supporto per AST e il lowering dei bindings; il lavoro sarebbe completato quando sarà stato concordato un piano di implementazione e sarà stato coordinato il lavoro tra le attività di bindings pertinenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust, wasm
- Ambito
- developer-experience, tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100