2 ms·
Hi! I'm the author of flawless. By using WebAssembly, it's kinda by default fool proof. WebAssemby explicitly requires you to declare host calls inside your mo
by bkolobara 3y ago
Hi! I'm the author of flawless.
By using WebAssembly, it's kinda by default fool proof. WebAssemby explicitly requires you to declare host calls inside your modules. If you try to use another host call that is not provided by flawless, your module can't be instantiated.
It's also important to notice that there are multiple standardisation efforts going on in the WebAssembly space. For example if you are using the rust `rand` crate and compiling to WebAssembly, it's using the WASI host functions for generating random numbers. While I'm waiting for wasi, wasi-http and others to be standardised, I expose my own interface for now.
Obviously, this also has a big downside. You can't compile all Rust code to WebAssembly. However, I prefer this reject by default approach, so that you are guaranteed to never have unintended side effects.
- drakenot 3y agoCould you provide a way to mark function calls as side effects similar to Temporal? I'm a bit worried about the limitation of having to use the flawless namespace functions for everything.
- bkolobara 3y agoFlawless integrates with your existing system. You probably don't need the guarantees that flawless provides for all code, but just specific functions/workflows.