appcypher / awesome-wasm-langs Goto Github PK
View Code? Open in Web Editor NEW๐ A curated list of languages that compile directly to or have their VMs in WebAssembly
๐ A curated list of languages that compile directly to or have their VMs in WebAssembly
This list doesn't include wasm2lua, which compiles WebAssembly modules to Lua. Should it be included here?
The current repo for blazor says that it's moved/mixed into https://github.com/dotnet/aspnetcore
So, should the new link for blazor be ASP.NET Core repo ??
The TOC doesn't work. If you click something, it doesn't do anything.
I have noticed that you marked the Wracket language as unmaintained. The project was interesting, so it is a pity that the author discontinued his work. However, Low Level Lisp shares the same philosophy as Wracket, therefore, it is a good candidate to the list of awesome-wasm-langs. Low Level Lisp is actively maintained and well documented. It has a few advantages over Wracket: (1) The wasCm compiler generates sexpr, instead of strings; (2) It shares its linear memory with Javascript; (3) It deals correctly with local variables; (4) It can use Javascript for input/output; (5) Its programs can be executed in Lisp, as well as in WebAssembly. Here is the page:
The RustPython compiler has been compiled to WebAssembly: should it be included in the list of Python implementations?
Nope, I gave up. I've done too much since 2017 to get this done. I'll better try to continue using C++ or Swift...
For your consideration:
https://github.com/marcosretrobits/TinyBasicBlazor
https://github.com/Rerumu/Wasynth is what wasm2lua would be... if it actually worked (since wasm2lua appears to be unmaintained) although it only has generators for luajit and luau (roblox lua)
grain-lang/grain :)
What status must a project/tool have to add to this nice list? Does it have to be ready for production? Or you can also add projects with an early status like JWebAssembly?
Hi ๐ I'm working on Artichoke Ruby. Artichoke has native compilation to Wasm as a project goal and is usable in the browser at https://artichoke.run.
Would it be possible to have this project mentioned in the Ruby section in the README?
searching for wasm
or WebAssembly
shows nothing in the code or filenames for the repo, and the repo specifically says it only works after the python bytecode has already been compiled
In the lede it says:
This repo contains a list of languages that currently compile to or have their VMs in WebAssembly(wasm)
But then the first link is "DotnetWebAssembly" which is not a compile-to-wasm library/language. Can you clarify?
The descriptions of blazor and the other library presented are transposed.
These language implementations support emscripten so in theory should be compilable to Wasm, although I've only seen JS builds so far:
C# (shown as "Stable for production usage") links directly to .Net and .Net is "Unstable but usable", Both C# and .Net should have same stability.
The list is missing the Kotlin language: https://kotlinlang.org/docs/mpp-supported-platforms.html
I really apreciate you're referencing work !
I'm really interested in the most recent developements of webassembly, and I'm surprised you don't talk about WASI.
Wasi is a standard developed by bytealliance to be able to execute any wasm module outside the browser, by a runtime or by importing functions from another language.
There are some languages/compilers in the list that compile to webassembly, but doesn't implement this interface. As a result, you have to import some functions that are not at all standardized to run this assembly, so you must use javascript glue for I/O for example. They can't run outside the browser !!!
For example that is the case with emscripten: it implements non-standard functions, so you can't run it without javascript.
I think rust, c, cpp and go are the only languages that compile to this interface. You can look here
So it would be nice to present all the languages in a table, indicating if they compile to this standard or not.
Everyone likes sunglasses and lists that are awesome!
Considering making this repo awesome-wasm-langs
or something so that people know this is a list of web assembly languages.
https://github.com/sindresorhus/awesome/blob/master/awesome.md
Transfering all the unmaintained languages to its own category.
Also have the top category to be Production
where we have languages that are already having software in production not languages that can be used in production.
This would at least include :
blazor.net
Your Readme says that Blazor is "an experimental web UI", which is no longer true. It became a fully developed and supported part of ASP.NET last November, and is in production use in many sites around the the net.
Please update your docs. Thanks for maintaining this list.
Read this(as proof):
https://blog.jetbrains.com/kotlin/2023/02/update-regarding-kotlin-native-targets/
Read this to know about new Kotlin/Wasm compiler:
https://kotlinlang.org/docs/whatsnew-eap.html#new-kotlin-wasm-target
IMHO, this list needs to be split into two:
Suggestion / feature request: List which languages / compilers support source maps, and which do not.
Hi there,
I found another reference of languages that support Wasm (fermyon reference), but I see some differences.
For example, in this repo, it is stated that Grain language doesn't have very usable support of Wasm, but in the fermyon reference it is stated that it has production level support.
It will be helpful if you provide more info about that. I'll ask the same question in their repo so I hope to find which one is more accurate.
As there is a project compiling R into WASM: https://github.com/georgestagg/webR
Please move the legend further up. I first didn't see it and wondered what the indicators mean.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.