Ahem? "Spin is a widely used open-source software verification tool" and it's been around a long time "The tool was developed at Bell Labs in the Unix group of the Computing Sciences Research Center, starting in 1980, and has been available freely since 1991" http://spinroot.com/
I wonder if we’re at a point where it doesn’t really make sense anymore to insist on unique names. Most of the good ones have been used by now; and this likely won’t get better as more time passes.
Spin 2.0 – open-source tool for building and running WASM apps
11–20 of 38 posts
Re: Spin 2.0 – open-source tool for building and running WASM apps
#12Ahem? "Spin is a widely used open-source software verification tool" and it's been around a long time "The tool was developed at Bell Labs in the Unix group of the Computing Sciences Research Center, starting in 1980, and has been available freely since 1991" http://spinroot.com/
Ha, naming is tough! At least it's not named Atlas :)
Re: Spin 2.0 – open-source tool for building and running WASM apps
#13I still have to try wasm, but I see the main focus seems to be on cloud and edge deployments. What I'd really like would be to program a game in C (or classic Turbo Pascal) and have a way to run it "hosted" in a iOS, Android or native app. Is that possible nowadays?
I'm not aware of a tech stack that does that.
Re: Spin 2.0 – open-source tool for building and running WASM apps
#14Hi, everyone, I'm one of the Spin maintainers. We're really excited about the new release, happy to answer questions about it!
Congrats on the release! Question how did you come up with your the languages you support. Obviously how well the language compiles to Wasi is a factor, but how did you end up picking C# for instance? Additionally how does Javascript support work? Are you embedding QuickJS?
To your point, the primary consideration for choosing the languages is their support for WebAssembly, and WASI in particular.
Due to Spin's heavy use of WASI and the component model, languages that have first party support in the WIT bindings generator (https://github.com/bytecodealliance/wit-bindgen) are the easiest to implement, followed by languages that can be built on top of the support for those with first party support.
For example, the JavaScript support is built by embedding QuickJS (in particular, Shopify's Javy project — https://github.com/fermyon/spin-js-sdk), which then uses the Rust SDK. (As a side note for the JS support — adapting QuickJS has been extremely helpful in getting JS support out; however, we are in the process of rebuilding the JS runtime using SpiderMonkey (with which a few people on the team have significant experience) and JCO (https://github.com/bytecodealliance/jco), and the web platform compatibility makes it a significantly better proposition for things like 3rd party dependencies).
C# is an interesting one — the .NET team at Microsoft (and in particular Steve Sanderson from that team) has been making tremendous progress in ahead-of-time compilation for .NET and generating Wasm and WASI compatible binaries (as opposed to their initial approach on Blazor), and experimenting with that led us to build support for Spin as well.
Finally, we do a lot to support other popular languages and their Wasm support — two examples: Python (https://github.com/bytecodealliance/componentize-py) and Java / TeaVM (https://github.com/fermyon/teavm-wasi), for which we haven't fully integrated Spin support, but we hope to get there soon.
I hope this explains a bit our process on language support, happy to expand on any point here. Enjoy your weekend!
Re: Spin 2.0 – open-source tool for building and running WASM apps
#15Hi, everyone, I'm one of the Spin maintainers. We're really excited about the new release, happy to answer questions about it!
How to use Spin with Zig?
Check out this community project that adds support for Zig — https://github.com/tensorush/zig-spin.
Re: Spin 2.0 – open-source tool for building and running WASM apps
#16Very intriguing, great work and thanks for sharing!
Re: Spin 2.0 – open-source tool for building and running WASM apps
#17Hi, everyone, I'm one of the Spin maintainers. We're really excited about the new release, happy to answer questions about it!
Congrats on the release! Any example sites where Spin is in active use?
(disclaimer: I work at Fermyon, the company that created Spin.)
All of Fermyon's websites are powered by Spin, and there are quite a few users who are deploying their Spin applications to Fermyon Cloud.
Re: Spin 2.0 – open-source tool for building and running WASM apps
#18I still have to try wasm, but I see the main focus seems to be on cloud and edge deployments. What I'd really like would be to program a game in C (or classic Turbo Pascal) and have a way to run it "hosted" in a iOS, Android or native app. Is that possible nowadays?
Someone would need to implement a library to abstract away the differences between all of these platforms, like Spin does for server software. I'm not aware of a tech stack that does that.
Re: Spin 2.0 – open-source tool for building and running WASM apps
#19Re: Spin 2.0 – open-source tool for building and running WASM apps
#20I still have to try wasm, but I see the main focus seems to be on cloud and edge deployments. What I'd really like would be to program a game in C (or classic Turbo Pascal) and have a way to run it "hosted" in a iOS, Android or native app. Is that possible nowadays?