wit-bindgen
wit-bindgen copied to clipboard
A language binding generator for WebAssembly interface types
https://github.com/bytecodealliance/wit-bindgen/pull/228 added support for parsing the `stream` type. As noted in https://github.com/bytecodealliance/wit-bindgen/pull/228#pullrequestreview-995028227, there are many `todo!`s left for the implementation in the canonical ABI and bindings implementations.
`WIT.md` and the parser both define an `interface` keyword. In the parser, it's half-implemented and seems to be attempting to parse a sub-module kind of thing like this (before panicking):...
This repository has served, up until now, as a sort of testing ground for features that the component-model has and what it might look like to have `*.wit` interfaces to...
I've started sending PRs to do this, but I figured it'd also be a good thing to write things down: * [ ] Implement and test NaN canonicalization for float32/float64...
The new "unit" type from the canonical ABI is implemented as the keyword `unit`, but we may also wish to consider using the `()` syntax for the unit type. This...
Right now the syntax for tuples is `tuple`, but the only reason for this was to disambiguate the multi-value returns we originally had which had the shape `-> (A, B,...
I've been exploring wit-bindgen lately and was trying to use resources. Given some `demo.wit`: ```wit resource doggo { static new: function(name: string) -> doggo bark: function() -> string } ```...
As I am currently implementing a tool to create [WebAssembly components](https://github.com/WebAssembly/component-model) based on interfaces defined in `wit`, I've run into an issue about how best to map interface functions to...
The current design of using a "source builder" has a draw back that it makes the code harder to read. ```rust self.src.ts("Record"); ``` vs ```rust let first = record.fields[0].ty; let...
Was wondering what your thoughts are on how it should work. There seems to be a lot of different approaches that kind of work and it's not clear what is...